diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c
index 89b4f4bdce298a5fadeda0b8be217de58fe7e003..51745c12ec1e1d83b1cc4c3110e7995671d0a3d9 100644
--- a/libavcodec/vc1dec.c
+++ b/libavcodec/vc1dec.c
@@ -270,7 +270,7 @@ static int vc1_decode_sprites(VC1Context *v, GetBitContext* gb)
 
     vc1_parse_sprites(v, gb, &sd);
 
-    if (!s->current_picture.f->data[0]) {
+    if (!s->current_picture.f || !s->current_picture.f->data[0]) {
         av_log(avctx, AV_LOG_ERROR, "Got no sprites\n");
         return -1;
     }