diff --git a/libavcodec/mjpeg.c b/libavcodec/mjpeg.c
index fc79772f3f0ef4926e8c72e2bdfd1caf973672df..f81c285e9c55b0499efa09ab072f126b1307c3fa 100644
--- a/libavcodec/mjpeg.c
+++ b/libavcodec/mjpeg.c
@@ -1760,7 +1760,7 @@ static int mjpeg_decode_dri(MJpegDecodeContext *s)
 
 static int mjpeg_decode_app(MJpegDecodeContext *s)
 {
-    int len, id;
+    int len, id, i;
 
     len = get_bits(&s->gb, 16);
     if (len < 5)
@@ -1791,7 +1791,9 @@ static int mjpeg_decode_app(MJpegDecodeContext *s)
             s->buggy_avid = 1;
 //        if (s->first_picture)
 //            printf("mjpeg: workarounding buggy AVID\n");
-        s->bottom_field = get_bits(&s->gb, 8) == 2;
+        i = get_bits(&s->gb, 8);
+        if     (i==2) s->bottom_field= 1;
+        else if(i==1) s->bottom_field= 0;
 #if 0
         skip_bits(&s->gb, 8);
         skip_bits(&s->gb, 32);