diff --git a/ffplay.c b/ffplay.c
index 3ebcd59c1c4bc54fdad0d9814d0949f3d5154c05..77b1e4e24ceab724258a4f7328cae006404475e8 100644
--- a/ffplay.c
+++ b/ffplay.c
@@ -1622,7 +1622,7 @@ static int input_request_frame(AVFilterLink *link)
     if (ret < 0)
         return -1;
 
-    if(priv->use_dr1) {
+    if(priv->use_dr1 && priv->frame->opaque) {
         picref = avfilter_ref_buffer(priv->frame->opaque, ~0);
     } else {
         picref = avfilter_get_video_buffer(link, AV_PERM_WRITE, link->w, link->h);
diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
index c599d1df3bc4bd0bf5812b413ae87bab1a35ff7b..9397c657adf03e63c89963b69b4c4ba02e6f40ff 100644
--- a/libavcodec/mpegvideo.c
+++ b/libavcodec/mpegvideo.c
@@ -1410,6 +1410,7 @@ void ff_print_debug_info(MpegEncContext *s, AVFrame *pict){
             pict->data[i]= s->visualization_buffer[i];
         }
         pict->type= FF_BUFFER_TYPE_COPY;
+        pict->opaque= NULL;
         ptr= pict->data[0];
         block_height = 16>>v_chroma_shift;