diff --git a/libavcodec/h263.c b/libavcodec/h263.c
index 4f3fa13df2934dda18584be0133a62f9ad152fe5..09778c3e554d40186ef8fe6a24dfad8b0024545c 100644
--- a/libavcodec/h263.c
+++ b/libavcodec/h263.c
@@ -2282,7 +2282,7 @@ void mpeg4_encode_picture_header(MpegEncContext * s, int picture_number)
     }
     put_bits(&s->pb, 3, 0);	/* intra dc VLC threshold */
     if(!s->progressive_sequence){
-         put_bits(&s->pb, 1, s->top_field_first);
+         put_bits(&s->pb, 1, s->current_picture_ptr->top_field_first);
          put_bits(&s->pb, 1, s->alternate_scan);
     }
     //FIXME sprite stuff
@@ -5252,7 +5252,8 @@ static int decode_vol_header(MpegEncContext *s, GetBitContext *gb){
             }
         }
         
-        s->progressive_sequence= get_bits1(gb)^1;
+        s->progressive_sequence= 
+        s->progressive_frame= get_bits1(gb)^1;
         if(!get_bits1(gb) && (s->avctx->debug & FF_DEBUG_PICT_INFO)) 
             av_log(s->avctx, AV_LOG_INFO, "MPEG4 OBMC not supported (very likely buggy encoder)\n");   /* OBMC Disable */
         if (vo_ver_id == 1) {
diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
index ef682e4838cded09b87e3c7c55c3d2a65431bbb3..d686dec2161bd5ca41114d6be12ca81dd8e12f9f 100644
--- a/libavcodec/mpegvideo.c
+++ b/libavcodec/mpegvideo.c
@@ -401,7 +401,9 @@ int MPV_common_init(MpegEncContext *s)
 
     s->y_dc_scale_table=
     s->c_dc_scale_table= ff_mpeg1_dc_scale_table;
-    s->chroma_qscale_table= ff_default_chroma_qscale_table;    
+    s->chroma_qscale_table= ff_default_chroma_qscale_table;
+    s->progressive_sequence= 
+    s->progressive_frame= 1;
     
     y_size = (2 * s->mb_width + 2) * (2 * s->mb_height + 2);
     c_size = (s->mb_width + 2) * (s->mb_height + 2);
@@ -1152,7 +1154,7 @@ alloc:
 
         s->current_picture_ptr= (Picture*)pic;
         s->current_picture_ptr->top_field_first= s->top_field_first; //FIXME use only the vars from current_pic
-        s->current_picture_ptr->interlaced_frame= !s->progressive_frame;
+        s->current_picture_ptr->interlaced_frame= !s->progressive_frame && !s->progressive_sequence;
     }
 
     s->current_picture_ptr->pict_type= s->pict_type;