diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index 36fe75391573ef53b017d207ad33f6d3550505e8..c9563319beb7bb9c15119111fbc2581ea83c1201 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -797,7 +797,7 @@ int ff_rtsp_read_reply(AVFormatContext *s, RTSPMessageHeader *reply,
             dprintf(s, "ret=%d c=%02x [%c]\n", ret, ch, ch);
 #endif
             if (ret != 1)
-                return -1;
+                return AVERROR_EOF;
             if (ch == '\n')
                 break;
             if (ch == '$') {
@@ -1719,8 +1719,8 @@ redo:
         RTSPMessageHeader reply;
 
         ret = ff_rtsp_read_reply(s, &reply, NULL, 1);
-        if (ret == -1)
-            return -1;
+        if (ret < 0)
+            return ret;
         if (ret == 1) /* received '$' */
             break;
         /* XXX: parse message */