diff --git a/source/texk/web2c/luatexdir/ChangeLog b/source/texk/web2c/luatexdir/ChangeLog
index 98bf305cfa6542a938d65cd65f2d332b7f4ab952..70497ad9bfef52c96a96f79076e423eb95ef2e22 100644
--- a/source/texk/web2c/luatexdir/ChangeLog
+++ b/source/texk/web2c/luatexdir/ChangeLog
@@ -1,3 +1,6 @@
+2022-05-23  Luigi Scarso <luigi.scarso@gmail.com>
+    * Fixed mp_begin_iteration (H.Hagen)
+
 2022-05-15  Luigi Scarso <luigi.scarso@gmail.com>
     * Fixed a memory leak in mplib (H.Hagen)
 
diff --git a/source/texk/web2c/luatexdir/luatex_svnversion.h b/source/texk/web2c/luatexdir/luatex_svnversion.h
index 03da6264fe3335658526cc3fb458a409e6863d00..26ff11b268dde6c762a04505270540bbba31a7e2 100644
--- a/source/texk/web2c/luatexdir/luatex_svnversion.h
+++ b/source/texk/web2c/luatexdir/luatex_svnversion.h
@@ -1,4 +1,4 @@
 #ifndef luatex_svn_revision_h
 #define luatex_svn_revision_h
-#define luatex_svn_revision 7526
+#define luatex_svn_revision 7527
 #endif
diff --git a/source/texk/web2c/mplibdir/mp.w b/source/texk/web2c/mplibdir/mp.w
index 099004e36c0a05975ea6f786f533f0719c41df88..1c707957ced8843d4d6c8cfbf52d40b924cfd368 100644
--- a/source/texk/web2c/mplibdir/mp.w
+++ b/source/texk/web2c/mplibdir/mp.w
@@ -21169,7 +21169,7 @@ void mp_begin_iteration (MP mp) {
       p->value_mod = mp_suffix_sym;
     }
     mp_get_x_next (mp);
-    if (cur_cmd() == mp_within_token) {
+    if (p->value_mod = mp_expr_sym && cur_cmd() == mp_within_token) {
       @<Set up a picture iteration@>;
     } else {
       @<Check for the assignment in a loop header@>;