diff --git a/matlab/dr1.m b/matlab/dr1.m
index 32b426343fc566a96030899fcc9b74a61750181e..fd8f1719b99b64a0067bf38a1480ce812095d5b4 100644
--- a/matlab/dr1.m
+++ b/matlab/dr1.m
@@ -51,6 +51,10 @@ function [dr,info,M_,options_,oo_] = dr1(dr,task,M_,options_,oo_)
 
 info = 0;
 
+if M_.maximum_endo_lag == 0 && options_.order > 1
+    error(['2nd and 3rd order approximation not implemented for purely forward models'])
+end
+
 if options_.k_order_solver;
     dr = set_state_space(dr,M_);
     [dr,info] = k_order_pert(dr,M_,options_,oo_);
@@ -241,10 +245,6 @@ if M_.maximum_endo_lead == 0
     return
 end
 
-if M_.maximum_endo_lag == 0 && options_.order > 1
-    error(['2nd and 3rd order approximation not implemented for purely forward models'])
-end
-
 %forward--looking models
 if nstatic > 0
     [Q,R] = qr(b(:,1:nstatic));