diff --git a/matlab/perfect-foresight-models/sim1_purely_backward.m b/matlab/perfect-foresight-models/sim1_purely_backward.m
index daee720cea7e62dafb9d8b869ca7b265218f8c72..3f155325f21fe7872143d9d9f8fb31dbdafa30a3 100644
--- a/matlab/perfect-foresight-models/sim1_purely_backward.m
+++ b/matlab/perfect-foresight-models/sim1_purely_backward.m
@@ -43,8 +43,13 @@ dynamicmodel_s = str2func('dynamic_backward_model_for_simulation');
 info.status = true;
 
 for it = M.maximum_lag + (1:options.periods)
-    y = endogenousvariables(:,it-1);        % Values at previous period, also used as guess value for current period
-    ylag = y(iyb);
+    if M.maximum_lag==0 && it==1
+        y = endogenousvariables(:,it);        % Values at previous period, also used as guess value for current period
+        ylag = [];        
+    else
+        y = endogenousvariables(:,it-1);        % Values at previous period, also used as guess value for current period
+        ylag = y(iyb);
+    end
     if ismember(options.solve_algo, [12,14])
         [tmp, check] = dynare_solve(dynamicmodel_s, y, options, M.isloggedlhs, M.isauxdiffloggedrhs, M.endo_names, M.lhs, ...
                                     dynamicmodel, ylag, exogenousvariables, M.params, steadystate, it);