dateFormat working on local server with buildDrafts true but not on build when running `hugo`

CORRECTION: hugo works to build everything in the site except the homepage. I noticed then when trying to sync to S3 from the command line using the same script I do for pushing new content.

Here is some of the front matter:

date: 2016-05-01
publishdate: 2016-05-05
updated: 2016005-07

Here is a bit of templating from layouts/_default/list.html:

{{ range sort .Data.Pages ".Params.updated" "desc" }}
                    <a href="{{ .Permalink }}">
                            <h1 class="title-list">{{.Title}}</h1>
                            {{ if ne .Params.updated (.PublishDate.Format "2006-01-02") }}
                                <span class="updated">UPDATED</span>
                                <time class="list-publishdate" datetime="{{.Params.updated}}"> {{dateFormat "January 2, 2006" .Params.updated }}</time>
                                <time class="list-publishdate" datetime="{{.PublishDate}}">{{dateFormat "January 2, 2006" .PublishDate }}</time>
                        <p>{{ .Description | markdownify }}</p>
 {{ end }}

This works like a charm locally and correctly sorts posts by updated (since I set this value to the same as publishdate when first publishing content; I only change updated once I actually update the piece of content. However, when I run hugo to build the site with the exact same templating, I get the following error in the console:

ERROR: 2016/06/15 17:40:52 general.go:222: Error while rendering section singletons: template: _default/list.html:21:97: executing "_default/list.html" at <dateFormat "January ...>: error calling dateFormat: Unable to Cast <nil> to Time

Thoughts on why this is not be an issue with hugo server --buildDrafts=true but throws an error and breaks the build when just running hugo?