diff --git a/libavcodec/pictordec.c b/libavcodec/pictordec.c
index a3d72e3f25ce44cb489c94c2ecebe897f8581cc7..a09ee379c023746a4711532a4d1b4cd6137e1094 100644
--- a/libavcodec/pictordec.c
+++ b/libavcodec/pictordec.c
@@ -77,10 +77,10 @@ static void picmemset(PicContext *s, AVFrame *frame, int value, int run,
                 if (*y < 0) {
                    *y = s->height - 1;
                    *plane += 1;
-                   value <<= bits_per_plane;
-                   mask  <<= bits_per_plane;
                    if (*plane >= s->nb_planes)
                        return;
+                   value <<= bits_per_plane;
+                   mask  <<= bits_per_plane;
                 }
             }
         }