diff --git a/libavformat/rmdec.c b/libavformat/rmdec.c
index 14880fe7552066fcc92d594190fcb1f31ecc660c..5e34647ceb89c9a6683ff133912055265fff5780 100644
--- a/libavformat/rmdec.c
+++ b/libavformat/rmdec.c
@@ -919,7 +919,9 @@ static int64_t rm_read_dts(AVFormatContext *s, int stream_index,
     if(rm->old_format)
         return AV_NOPTS_VALUE;
 
-    avio_seek(s->pb, pos, SEEK_SET);
+    if (avio_seek(s->pb, pos, SEEK_SET) < 0)
+        return AV_NOPTS_VALUE;
+
     rm->remaining_len=0;
     for(;;){
         int seq=1;