diff --git a/matlab/make_y_.m b/matlab/make_y_.m
index cc88819f8ccf7db745e9ecbc9fcf08d9e6e353fe..ae8928693a112d4cc1c2dfaf6a66b09a8235595d 100644
--- a/matlab/make_y_.m
+++ b/matlab/make_y_.m
@@ -12,7 +12,7 @@ function make_y_()
 %   none
 %  
 
-% Copyright (C) 1996-2012 Dynare Team
+% Copyright (C) 1996-2014 Dynare Team
 %
 % This file is part of Dynare.
 %
@@ -43,14 +43,14 @@ end
 
 if isempty(M_.endo_histval)
     if isempty(ys0_)
-        oo_.endo_simul = [oo_.steady_state*ones(1,options_.periods+2)];
+        oo_.endo_simul = [oo_.steady_state*ones(1,M_.maximum_endo_lag+options_.periods+M_.maximum_endo_lead)];
     else
-        oo_.endo_simul = [ys0_ oo_.steady_state*ones(1,options_.periods+1)];
+        oo_.endo_simul = [ys0_*ones(1,M_.maximum_endo_lag) oo_.steady_state*ones(1,options_.periods+M_.maximum_endo_lead)];
     end
 else
     if ~isempty(ys0_)
         error('histval and endval cannot be used simultaneously')
     end
     oo_.endo_simul = [M_.endo_histval ...
-                      oo_.steady_state*ones(1,options_.periods+1)];
+                      oo_.steady_state*ones(1,options_.periods+M_.maximum_endo_lead)];
 end