diff --git a/libavcodec/motion_est.c b/libavcodec/motion_est.c
index 0500002eaa0a9e0f30a1b0e78bb7292a2001882c..b093580e8fa98e2b460ff35681d619ead4189dde 100644
--- a/libavcodec/motion_est.c
+++ b/libavcodec/motion_est.c
@@ -620,7 +620,11 @@ static inline int h263_mv4_search(MpegEncContext *s, int mx, int my, int shift)
         P_MV1[0]= mx;
         P_MV1[1]= my;
         if(saftey_cliping)
-            for(i=0; i<10; i++){
+            for(i=1; i<10; i++){
+                if (s->first_slice_line && block<2 && i>1 && i<9)
+                    continue;
+                if (i>4 && i<9)
+                    continue;
                 if(P[i][0] > (c->xmax<<shift)) P[i][0]= (c->xmax<<shift);
                 if(P[i][1] > (c->ymax<<shift)) P[i][1]= (c->ymax<<shift);
             }