diff --git a/modules/demux/adaptive/playlist/SegmentList.cpp b/modules/demux/adaptive/playlist/SegmentList.cpp
index 4409b50011da68ae8b557ddc1417c7b7fe78e321..fbf47e002ee99dbf9ca2f6a0ba80a4d04d934e1b 100644
--- a/modules/demux/adaptive/playlist/SegmentList.cpp
+++ b/modules/demux/adaptive/playlist/SegmentList.cpp
@@ -167,7 +167,8 @@ bool SegmentList::getPlaybackTimeDurationBySegmentNumber(uint64_t number,
     }
     else
     {
-        *time = *dur = VLC_TICK_INVALID;
+        *time = VLC_TICK_INVALID;
+        *dur = 0;
         timescale = inheritTimescale();
 
         if(segments.empty())
@@ -205,7 +206,7 @@ bool SegmentList::getPlaybackTimeDurationBySegmentNumber(uint64_t number,
     }
 
     *time = VLC_TICK_0 + timescale.ToTime(stime);
-    *dur = VLC_TICK_0 + timescale.ToTime(sduration);
+    *dur = timescale.ToTime(sduration);
     return true;
 }