diff --git a/doc/dynare.texi b/doc/dynare.texi
index 1437125ef766320301d40b869c61e522738a7a0b..a02967042ad35eb5bcc976a701b340ebb5bd6b2d 100644
--- a/doc/dynare.texi
+++ b/doc/dynare.texi
@@ -4962,7 +4962,8 @@ inflation or nominal interest rate as an instrument.
 @descriptionhead
 
 This command computes an approximation of the optimal policy under
-discretion
+discretion. The algorithm implemented is essentially an LQ solver, and
+is described by @cite{Dennis (2007)}.
 
 @optionshead
 
@@ -7279,6 +7280,11 @@ Expansion Approach to Simulation of Stochastic Forward-Looking Models
 with an Application to a Non-Linear Phillips Curve,'' @i{Computational
 Economics}, 17, 125--139.
 
+@item
+Dennis, Richard (2007): ``Optimal Policy In Rational Expectations
+Models: New Solution Algorithms,'' @i{Macroeconomic Dynamics}, 11(1),
+31--55
+
 @item
 Durbin, J. and S. J. Koopman (2001), @i{Time Series Analysis by State
 Space Methods}, Oxford University Press.
diff --git a/matlab/discretionary_policy_engine.m b/matlab/discretionary_policy_engine.m
index 67aef9f237e132b7e374ba7075083c8d1b63a112..2c475b264aad4912c00f9ae03774232e8d6015d4 100644
--- a/matlab/discretionary_policy_engine.m
+++ b/matlab/discretionary_policy_engine.m
@@ -4,8 +4,9 @@ function [H,G,retcode]=discretionary_policy_engine(AAlag,AA0,AAlead,BB,bigw,inst
 % AAlag*yy_{t-1}+AA0*yy_t+AAlead*yy_{t+1}+BB*e=0, with W the weight on the
 % variables in vector y_t and instr_id is the location of the instruments
 % in the yy_t vector.
-% We use the Dennis algorithm and so we need to re-write the model in the
-% form A0*y_t=A1*y_{t-1}+A2*y_{t+1}+A3*x_t+A4*x_{t+1}+A5*e_t, with W the
+% We use the Dennis (2007, Macroeconomic Dynamics) algorithm and so we need
+% to re-write the model in the form
+%  A0*y_t=A1*y_{t-1}+A2*y_{t+1}+A3*x_t+A4*x_{t+1}+A5*e_t, with W the
 % weight on the y_t vector and Q the weight on the x_t vector of
 % instruments.