diff --git a/matlab/initial_estimation_checks.m b/matlab/initial_estimation_checks.m
index 0e293e7c2f0bc17483155f1969e53963a1b63797..fd1c7de98a11fc92579b220c7590b30b5e4b726c 100644
--- a/matlab/initial_estimation_checks.m
+++ b/matlab/initial_estimation_checks.m
@@ -66,6 +66,9 @@ if DynareOptions.order>1
     if DynareOptions.order>2 && DynareOptions.particle.pruning==1
         error('initial_estimation_checks:: the particle filter with order>2 does not support pruning')
     end
+    if DynareOptions.particle.pruning~=DynareOptions.pruning
+        fprintf('initial_estimation_checks:: the pruning settings differ between the particle filter and the one used for IRFs/simulations. Make sure this is intended.\n')
+    end
 end
 
 non_zero_ME=length(EstimatedParameters.H_entries_to_check_for_positive_definiteness);
diff --git a/matlab/non_linear_dsge_likelihood.m b/matlab/non_linear_dsge_likelihood.m
index a4bef423766b822430ca338088c2fbd730ae4f71..b5a9ff76ff308e2415a9920cdb5aa787369852e5 100644
--- a/matlab/non_linear_dsge_likelihood.m
+++ b/matlab/non_linear_dsge_likelihood.m
@@ -143,10 +143,13 @@ switch DynareOptions.particle.initialization
     StateVectorMean = ReducedForm.constant(mf0);
     old_DynareOptionsperiods = DynareOptions.periods;
     DynareOptions.periods = 5000;
+    old_DynareOptionspruning =  DynareOptions.pruning;
+    DynareOptions.pruning = DynareOptions.particle.pruning;
     y_ = simult(DynareResults.steady_state, dr,Model,DynareOptions,DynareResults);
     y_ = y_(dr.order_var(state_variables_idx),2001:5000); %state_variables_idx is in dr-order while simult_ is in declaration order
     StateVectorVariance = cov(y_');
     DynareOptions.periods = old_DynareOptionsperiods;
+    DynareOptions.pruning = old_DynareOptionspruning;
     clear('old_DynareOptionsperiods','y_');
   case 3% Initial state vector covariance is a diagonal matrix (to be used
         % if model has stochastic trends).