diff --git a/matlab/marginal_density.m b/matlab/marginal_density.m
index 32880f34aee563103446d43e03be5747d7411021..a25ede6a3653e36a35c4cdb9920c3d70b3f554e9 100644
--- a/matlab/marginal_density.m
+++ b/matlab/marginal_density.m
@@ -58,7 +58,7 @@ lpost_mode = posterior_kernel_at_the_mode;
 xparam1 = posterior_mean;
 hh = inv(SIGMA);
 fprintf(' Done!\n');
-if ~isfield(oo_,'posterior_mode')
+if ~isfield(oo_,'posterior_mode') || (options_.mh_replic && isequal(options_.posterior_sampler_options.posterior_sampling_method,'slice'))
     oo_=fill_mh_mode(posterior_mode',NaN(npar,1),M_,options_,estim_params_,bayestopt_,oo_,'posterior');
 end