diff --git a/preprocessor b/preprocessor
index 2a048a487c02ee420e20a0082abb8cb411b562bc..7d1a467aa30427afeac638975a80fc4df58ba1d4 160000
--- a/preprocessor
+++ b/preprocessor
@@ -1 +1 @@
-Subproject commit 2a048a487c02ee420e20a0082abb8cb411b562bc
+Subproject commit 7d1a467aa30427afeac638975a80fc4df58ba1d4
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 6ff0f0a93448669592f2b02a25feff35884035a8..5c2c56001dbf5a08d88b1e2eacc3426faf167b8c 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -114,6 +114,7 @@ MODFILES = \
 	comments.mod \
 	histval_sto.mod \
 	histval_det.mod \
+	histval_predetermined.mod \
 	auxiliary_variables/test1.mod \
 	expectations/expectation.mod \
 	expectations/expectation_ss.mod \
diff --git a/tests/histval_predetermined.mod b/tests/histval_predetermined.mod
new file mode 100644
index 0000000000000000000000000000000000000000..51ac05cf8f5c436a7f8119e1d529b59692f216da
--- /dev/null
+++ b/tests/histval_predetermined.mod
@@ -0,0 +1,60 @@
+/* Check that histval and predetermined_variables interact correctly, in the
+   case where no explicit lag appears in the model block (though lags appear
+   implicitly via the “predetermined_variables” statement).
+
+   This is a regression test for preprocessor#47.
+*/
+
+var y, c, k, a, h, b;
+varexo e, u;
+
+predetermined_variables a b k;
+
+parameters beta, rho, alpha, delta, theta, psi, tau;
+
+alpha = 0.36;
+rho   = 0.95;
+tau   = 0.025;
+beta  = 0.99;
+delta = 0.025;
+psi   = 0;
+theta = 2.95;
+
+phi   = 0.1;
+
+model;
+c*theta*h^(1+psi)=(1-alpha)*y;
+k(+1) = beta*(((exp(b(+1))*c)/(exp(b(+2))*c(+1)))
+        *(exp(b(+2))*alpha*y(+1)+(1-delta)*k(+1)));
+y = exp(a(+1))*(k^alpha)*(h^(1-alpha));
+k = exp(b(+1))*(y-c)+(1-delta)*k;
+a(+1) = rho*a+ e;
+b(+1) = rho*b+ u;
+end;
+
+initval;
+y = 1.08068253095672;
+c = 0.80359242014163;
+h = 0.29175631001732;
+k = 11.08360443260358;
+a = 0;
+b = 0;
+e = 0;
+u = 0;
+end;
+
+shocks;
+var e; stderr 0.009;
+var u; stderr 0.009;
+var e, u = phi*0.009*0.009;
+end;
+
+histval;
+b(0) = 0.1;
+a(0) = 0.3;
+end;
+
+stoch_simul(nograph, periods = 200);
+
+forecast;
+