diff --git a/matlab/dynare_estimation_1.m b/matlab/dynare_estimation_1.m
index b9abcbabb2916caea75567fc5b78f2bdfd56b5ec..a4ac05d0c8cea85fd634285b7f31a8b61e24dc4e 100644
--- a/matlab/dynare_estimation_1.m
+++ b/matlab/dynare_estimation_1.m
@@ -519,23 +519,27 @@ if (any(bayestopt_.pshape  >0 ) && options_.mh_replic) || ...
             end
         end
         [error_flag,~,options_]= metropolis_draw(1,options_,estim_params_,M_);
-        if options_.bayesian_irf
-            if error_flag
-                error('Estimation::mcmc: I cannot compute the posterior IRFs!')
+        if ~(~isempty(options_.sub_draws) && options_.sub_draws==0)
+            if options_.bayesian_irf
+                if error_flag
+                    error('Estimation::mcmc: I cannot compute the posterior IRFs!')
+                end
+                PosteriorIRF('posterior');
             end
-            PosteriorIRF('posterior');
-        end
-        if options_.moments_varendo
-            if error_flag
-                error('Estimation::mcmc: I cannot compute the posterior moments for the endogenous variables!')
+            if options_.moments_varendo
+                if error_flag
+                    error('Estimation::mcmc: I cannot compute the posterior moments for the endogenous variables!')
+                end
+                oo_ = compute_moments_varendo('posterior',options_,M_,oo_,var_list_);
             end
-            oo_ = compute_moments_varendo('posterior',options_,M_,oo_,var_list_);
-        end
-        if options_.smoother || ~isempty(options_.filter_step_ahead) || options_.forecast
-            if error_flag
-                error('Estimation::mcmc: I cannot compute the posterior statistics!')
+            if options_.smoother || ~isempty(options_.filter_step_ahead) || options_.forecast
+                if error_flag
+                    error('Estimation::mcmc: I cannot compute the posterior statistics!')
+                end
+                prior_posterior_statistics('posterior',dataset_,dataset_info);
             end
-            prior_posterior_statistics('posterior',dataset_,dataset_info);
+        else
+            fprintf('Estimation:mcmc: sub_draws was set to 0. Skipping posterior computations.')
         end
         xparam1 = get_posterior_parameters('mean',M_,estim_params_,oo_,options_);
         M_ = set_all_parameters(xparam1,estim_params_,M_);