diff --git a/matlab/discretionary_policy/discretionary_policy_1.m b/matlab/discretionary_policy/discretionary_policy_1.m
index 5b6313335b75b6cd07f15a0b6198beeef3ef0469..84bd00dfa68eb489aa3cbb89f3ce7dda6df76135 100644
--- a/matlab/discretionary_policy/discretionary_policy_1.m
+++ b/matlab/discretionary_policy/discretionary_policy_1.m
@@ -121,5 +121,7 @@ T=H(dr.order_var,dr.order_var);
 dr.ghu=G(dr.order_var,:);
 if M_.maximum_endo_lag
     Selection=M_.lead_lag_incidence(1,dr.order_var)>0;%select state variables
+else
+    Selection=[];
 end
 dr.ghx=T(:,Selection);
\ No newline at end of file
diff --git a/meson.build b/meson.build
index 66590ae76cee6164c3bca570829811b81ab199d6..8686ceacd1a1c27513de6e0392a9272b69bb7bc6 100644
--- a/meson.build
+++ b/meson.build
@@ -1061,6 +1061,7 @@ mod_and_m_tests = [
   { 'test' : [ 'discretionary_policy/dennis_1.mod',
                'discretionary_policy/dennis_1_estim.mod' ] },
   { 'test' : [ 'discretionary_policy/Gali_discretion.mod' ] },
+  { 'test' : [ 'discretionary_policy/NK_discretion_forward.mod' ] },
   { 'test' : [ 'discretionary_policy/Gali_2015_chapter_3.mod',
                'discretionary_policy/Gali_2015_chapter_3_nonlinear.mod' ] },
   { 'test' : [ 'histval_initval_file/ramst_data_generate.mod',
diff --git a/tests/discretionary_policy/NK_discretion_forward.mod b/tests/discretionary_policy/NK_discretion_forward.mod
new file mode 100644
index 0000000000000000000000000000000000000000..c5d36dec48a324a451ea2bf00720d3b2df11b6c3
--- /dev/null
+++ b/tests/discretionary_policy/NK_discretion_forward.mod
@@ -0,0 +1,27 @@
+var pi x R;
+
+varexo epsilon;
+
+parameters  beta kappa lambdax lambdaR sigma;
+
+sigma = 1;
+beta = 0.99;
+kappa = 0.102;
+lambdax = 0.1;
+
+model(linear);
+pi = beta*pi(+1)+kappa*x+epsilon;
+x = x(+1)-(1/sigma)*(R-pi(+1));
+end;
+
+shocks;
+var epsilon; stderr 0.01;
+end;
+
+planner_objective (pi^2 +lambdax*x^2);
+
+discretionary_policy(instruments=(R),irf=20,planner_discount= beta);
+
+
+
+