diff --git a/matlab/optimal_policy/evaluate_planner_objective.m b/matlab/optimal_policy/evaluate_planner_objective.m
index 5f77b14079da012ce4a8497f072633ca165ef679..54384d01c026096dd9a237113796e0a7904ed1ac 100644
--- a/matlab/optimal_policy/evaluate_planner_objective.m
+++ b/matlab/optimal_policy/evaluate_planner_objective.m
@@ -258,12 +258,14 @@ else
         oo_.var(isnan(oo_.var)) = options_.huge_number;
 
         Ey = oo_.mean;
-        Eyhat = Ey - ys(dr.order_var(nstatic+(1:nspred)));
 
-        Eyhatyhat = oo_.var(:);
         Euu = M_.Sigma_e(:);
-
-        EU = U + Uy*gy*Eyhat + 0.5*(Uyygygy*Eyhatyhat + Uyygugu*Euu);
+        EU = U + 0.5*Uyygugu*Euu;
+        if M_.maximum_endo_lag
+            Eyhat = Ey - ys(dr.order_var(nstatic+(1:nspred)));
+            Eyhatyhat = oo_.var(:);
+            EU=EU + Uy*gy*Eyhat + 0.5*Uyygygy*Eyhatyhat;
+        end
         EW = EU/(1-beta);
         planner_objective_value.unconditional = EW;