diff --git a/libavcodec/raw.c b/libavcodec/raw.c
index 8ead17e066f6733e004cdac2ebf47ea53f129043..28c3cad54ff49cc350cd4ac1f38d6313f7da001a 100644
--- a/libavcodec/raw.c
+++ b/libavcodec/raw.c
@@ -121,8 +121,12 @@ static int raw_decode(AVCodecContext *avctx,
     RawVideoContext *context = avctx->priv_data;
     int bytesNeeded;
 
+    AVFrame * frame = (AVFrame *) data;
     AVPicture * picture = (AVPicture *) data;
 
+    frame->interlaced_frame = avctx->coded_frame->interlaced_frame;
+    frame->top_field_first = avctx->coded_frame->top_field_first;
+
     /* Early out without copy if packet size == frame size */
     if (buf_size == context->length  &&  context->p == context->buffer) {
         avpicture_fill(picture, buf, avctx->pix_fmt, avctx->width, avctx->height);