diff --git a/libavcodec/wmv2.c b/libavcodec/wmv2.c
index e03a0a2d4d919bf22c8b5cab5b3d8a4bb64634b8..75e924cb67abf0b04681d74168dbe2edc14b2af0 100644
--- a/libavcodec/wmv2.c
+++ b/libavcodec/wmv2.c
@@ -513,9 +513,12 @@ static int16_t *wmv2_pred_motion(Wmv2Context *w, int *px, int *py){
     B = s->current_picture.motion_val[0][xy - wrap];
     C = s->current_picture.motion_val[0][xy + 2 - wrap];
     
-    diff= FFMAX(ABS(A[0] - B[0]), ABS(A[1] - B[1]));
+    if(s->mb_x && !s->first_slice_line && !s->mspel && w->top_left_mv_flag)
+        diff= FFMAX(ABS(A[0] - B[0]), ABS(A[1] - B[1]));
+    else 
+        diff=0;
     
-    if(s->mb_x && !s->first_slice_line && !s->mspel && w->top_left_mv_flag && diff >= 8)
+    if(diff >= 8)
         type= get_bits1(&s->gb);
     else
         type= 2;