diff --git a/libavformat/mov.c b/libavformat/mov.c
index 3bbfd26313812a99a8c96b5f197fa08d087ed363..e9f4162e40274886892137f829b2fd256093d6a7 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -1605,7 +1605,7 @@ static int mov_read_ctts(MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
         sc->ctts_data[i].count   = count;
         sc->ctts_data[i].duration= duration;
-        if (duration < 0 && i+1<entries)
+        if (duration < 0 && i+2<entries)
             sc->dts_shift = FFMAX(sc->dts_shift, -duration);
     }