diff --git a/doc/manual/source/the-model-file.rst b/doc/manual/source/the-model-file.rst
index e85e77d7455f876185dc1894f32a20f297957075..8c0b4b72bf7c2a3c316d736930456573fa7640f9 100644
--- a/doc/manual/source/the-model-file.rst
+++ b/doc/manual/source/the-model-file.rst
@@ -962,7 +962,10 @@ The model is declared inside a ``model`` block:
     equal sign, and the expression for which this new variable will
     stand. Later on, every time this variable appears in the model,
     Dynare will substitute it by the expression assigned to the
-    variable. Note that the scope of this variable is restricted to
+    variable (if the model-local variable appears with a lead or a lag
+    attached to it between parenthesis, the substitution will be done by
+    shifting the expression accordingly).
+    Note that the scope of this variable is restricted to
     the model block; it cannot be used outside. To assign a LaTeX name
     to the model local variable, use the declaration syntax outlined
     by :comm:`model_local_variable`. A model local variable declaration
diff --git a/preprocessor b/preprocessor
index 31080eed6ce6c623863850d4e2da5f8317f2b5d0..84d792bced340c52d90cd962e51e22eec605cea0 160000
--- a/preprocessor
+++ b/preprocessor
@@ -1 +1 @@
-Subproject commit 31080eed6ce6c623863850d4e2da5f8317f2b5d0
+Subproject commit 84d792bced340c52d90cd962e51e22eec605cea0
diff --git a/tests/preprocessor_checks/example1_mlv.mod b/tests/preprocessor_checks/example1_mlv.mod
index ea9dbf029c816868cb21ff6189c1101e4b9e5321..be97a81c5b894b0806534968f4f8684f1f522b78 100644
--- a/tests/preprocessor_checks/example1_mlv.mod
+++ b/tests/preprocessor_checks/example1_mlv.mod
@@ -1,5 +1,8 @@
-// Tests for model local variables
-// (including in params derivs file, i.e. with identification, see Dynare/preprocessor#13)
+/* Tests for model-local variables
+  (including in params derivs file, i.e. with identification, see Dynare/preprocessor#13)
+   Also tests the possibility of having a lead/lag on a model-local variable
+  (recursively in the definition of another such variable) (see #1929)
+*/
 
 var c, y, k, a, h, b;
 varexo e, u;
@@ -22,8 +25,8 @@ phi   = 0.1;
 model_local_variable foo $\text{foo}$;
 
 model;
-#bar = exp(b)*c;
-#foo = bar/(exp(b(+1))*c(+1));
+#bar = exp(b(+1))*c(+1);
+#foo = bar(-1)/(exp(b(+1))*c(+1));
 c*theta*h^(1+psi)=(1-alpha)*y;
 k = beta*(foo
     *(exp(b(+1))*alpha*y(+1)+(1-delta)*k));