diff --git a/libavformat/utils.c b/libavformat/utils.c
index 3c175a66192786fb0cff63a4cb4e81e40d79ea60..2696771b24581231dcd720935fc23157d6122ec0 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -632,7 +632,7 @@ static void compute_pkt_fields(AVFormatContext *s, AVStream *st,
         st->last_IP_pts= pkt->pts;
         /* cannot compute PTS if not present (we can compute it only
            by knowing the futur */
-    } else if(pkt->pts != AV_NOPTS_VALUE || pkt->dts != AV_NOPTS_VALUE || pkt->duration){
+    } else {
         if(pkt->pts != AV_NOPTS_VALUE && pkt->duration){
             int64_t old_diff= FFABS(st->cur_dts - pkt->duration - pkt->pts);
             int64_t new_diff= FFABS(st->cur_dts - pkt->pts);