diff --git a/matlab/discretionary_policy/discretionary_policy_1.m b/matlab/discretionary_policy/discretionary_policy_1.m
index 30f7ca0480c634c2134cbf561b76f1b20b8872a9..5b6313335b75b6cd07f15a0b6198beeef3ef0469 100644
--- a/matlab/discretionary_policy/discretionary_policy_1.m
+++ b/matlab/discretionary_policy/discretionary_policy_1.m
@@ -81,7 +81,7 @@ iyr0 = find(iyv(:)) ;
 z = z(iyr0);
 it_ = M_.maximum_lag + 1 ;
 
-[junk,jacobia_] = feval([M_.fname '.dynamic'],z,zeros(M_.exo_nbr+M_.exo_det_nbr,klen), M_.params, ys, it_);
+[junk,jacobia_] = feval([M_.fname '.dynamic'],z,zeros(klen,M_.exo_nbr+M_.exo_det_nbr), M_.params, ys, it_);
 if max(abs(junk))>options_.solve_tolf
      info = 65; %the model must be written in deviation form and not have constant terms or have a steady state provided
      return;