diff --git a/matlab/discretionary_policy/discretionary_policy_1.m b/matlab/discretionary_policy/discretionary_policy_1.m
index 04c88659746748e6cb246c60c9a26c1dbcc742a3..368795ef4d92b01499b2cd80a15dfe88fc2987d2 100644
--- a/matlab/discretionary_policy/discretionary_policy_1.m
+++ b/matlab/discretionary_policy/discretionary_policy_1.m
@@ -106,6 +106,7 @@ else
     [H,G,info]=discretionary_policy_engine(A.lag,A.contemp,A.lead,B,W,M_.instr_id,beta,options_.dp.maxit,options_.discretionary_tol,options_.qz_criterium);
 end
 
+dr=oo_.dr;
 
 if info
     return
@@ -115,7 +116,6 @@ else
 end
 
 %write back solution to dr
-dr=oo_.dr;
 dr.ys =zeros(M_.endo_nbr,1);
 dr=set_state_space(dr,M_,options_);
 T=H(dr.order_var,dr.order_var);