diff --git a/matlab/discretionary_policy_1.m b/matlab/discretionary_policy_1.m
index 8f8bf6b8a290b60bb34f6e63bb1ea55faaa1b650..224b618c0b9ae454cba5ba309f289364d5b88954 100644
--- a/matlab/discretionary_policy_1.m
+++ b/matlab/discretionary_policy_1.m
@@ -68,6 +68,15 @@ if options_.steadystate_flag
 end
 [U,Uy,W] = feval([M_.fname,'_objective_static'],zeros(endo_nbr,1),[], M_.params);
 if any(any(Uy~=0))
+    non_zero_derivs=find(any(Uy~=0));
+    for ii=1:length(non_zero_derivs)
+        non_zero_deriv_names{ii,1}=deblank(M_.endo_names(non_zero_derivs(ii),:));
+    end
+    disp_string=[non_zero_deriv_names{1,:}];
+    for ii=2:size(non_zero_deriv_names,1)
+        disp_string=[disp_string,', ',non_zero_deriv_names{ii,:}];
+    end
+    fprintf('\nThe derivative of the objective function w.r.t. to variable(s) %s is not 0\n',disp_string)
     error(['discretionary_policy: the objective function must have zero ' ...
            'first order derivatives'])
 end