diff --git a/libavcodec/indeo3.c b/libavcodec/indeo3.c
index cad8e982bd45c0a3476ba4903080af80b320f089..12f4ced6d2585fc6a9b7f25585c2c7736df2a3e0 100644
--- a/libavcodec/indeo3.c
+++ b/libavcodec/indeo3.c
@@ -1056,6 +1056,12 @@ static int indeo3_decode_frame(AVCodecContext *avctx,
     unsigned char *src, *dest;
     int y;
 
+    /* no supplementary picture */
+    if (buf_size == 0) {
+        *data_size = 0;
+        return 0;
+    }
+
     iv_decode_frame(s, buf, buf_size);
 
     if(s->frame.data[0])