diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index e11eb509d8daf90ccc0774a717d1491f5897ee23..85b566707668801f19ba4fb77d794c9264d259c2 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -2317,7 +2317,8 @@ static int mov_write_header(AVFormatContext *s)
 #endif
     if (t = av_dict_get(s->metadata, "creation_time", NULL, 0))
         mov->time = ff_iso8601_to_unix_time(t->value);
-    mov->time += 0x7C25B080; //1970 based -> 1904 based
+    if (mov->time)
+        mov->time += 0x7C25B080; // 1970 based -> 1904 based
 
     if (mov->chapter_track)
         mov_create_chapter_track(s, mov->chapter_track);