diff --git a/matlab/ep/extended_path.m b/matlab/ep/extended_path.m
index f8e1f852cf657c83ed950eab481854021d4d7e66..5205db59437fc295d95cf4146fb6aec724e42659 100644
--- a/matlab/ep/extended_path.m
+++ b/matlab/ep/extended_path.m
@@ -37,7 +37,8 @@ function [ts, DynareResults] = extended_path(initialconditions, samplesize, exog
 [initialconditions, innovations, pfm, ep, verbosity, DynareOptions] = ...
     extended_path_initialization(initialconditions, samplesize, exogenousvariables, DynareOptions, DynareModel, DynareResults);
 
-[shocks, spfm_exo_simul, innovations, DynareResults] = extended_path_shocks(innovations, ep, exogenousvariables, samplesize, DynareResults);
+[shocks, spfm_exo_simul, innovations, DynareResults] = ...
+    extended_path_shocks(innovations, ep, exogenousvariables, samplesize, DynareModel, DynareResults);
 
 % Initialize the matrix for the paths of the endogenous variables.
 endogenous_variables_paths = NaN(DynareModel.endo_nbr,samplesize+1);
diff --git a/matlab/ep/extended_path_shocks.m b/matlab/ep/extended_path_shocks.m
index ab0b8a18425915828659dcfe89d975508c9fba5f..878f93b0feb37dcea390860f8a8414086191f0b6 100644
--- a/matlab/ep/extended_path_shocks.m
+++ b/matlab/ep/extended_path_shocks.m
@@ -1,4 +1,5 @@
-function [shocks, spfm_exo_simul, innovations, DynareResults] = extended_path_shocks(innovations, ep, exogenousvariables, sample_size, DynareResults); 
+function [shocks, spfm_exo_simul, innovations, DynareResults] = ...
+    extended_path_shocks(innovations, ep, exogenousvariables, sample_size, DynareModel, DynareResults); 
 
 % Copyright (C) 2016 Dynare Team
 %
@@ -23,6 +24,11 @@ if isempty(exogenousvariables)
       case 'gaussian'
         shocks = transpose(transpose(innovations.covariance_matrix_upper_cholesky)*randn(innovations.effective_number_of_shocks,sample_size));
         shocks(:,innovations.positive_var_indx) = shocks;
+      case 'calibrated'
+        options.periods = sample_size;
+        DynareResults = make_ex_(DynareModel,options,DynareResults);
+        shocks = DynareResults.exo_simul(2:end,:);
+        innovations.positive_var_indx = find(sum(abs(shocks)>0));
       otherwise
         error(['extended_path:: ' ep.innovation_distribution ' distribution for the structural innovations is not (yet) implemented!'])
     end