diff --git a/libavfilter/vf_lagfun.c b/libavfilter/vf_lagfun.c
index 329c7465e1..1fbc889e35 100644
--- a/libavfilter/vf_lagfun.c
+++ b/libavfilter/vf_lagfun.c
@@ -137,7 +137,7 @@ static int lagfun_frame16(AVFilterContext *ctx, void *arg, int jobnr, int nb_job
         }
 
         for (int y = slice_start; y < slice_end; y++) {
-            for (int x = 0; x < s->linesize[p]; x++)
+            for (int x = 0; x < s->linesize[p] / 2; x++)
                 dst[x] = FFMAX(src[x], osrc[x] * decay);
 
             src += in->linesize[p] / 2;