diff --git a/matlab/check_posterior_sampler_options.m b/matlab/check_posterior_sampler_options.m
index 299b4b3f6bab2c99089706e7d0c3847837bf18ce..1980c0a7986bc0d88c3979ef7ea583d019b5b0f4 100644
--- a/matlab/check_posterior_sampler_options.m
+++ b/matlab/check_posterior_sampler_options.m
@@ -418,6 +418,10 @@ if strcmp(posterior_sampler_options.posterior_sampling_method,'slice')
             posterior_sampler_options.V1=V1;
             posterior_sampler_options.WR=sqrt(diag(D))*3;
         end
+    else
+        if ~options_.load_mh_file && ~posterior_sampler_options.slice_initialize_with_mode,
+            posterior_sampler_options.invhess=[];
+        end
     end
     
     % needs to be re-set to zero otherwise posterior analysis is filtered
diff --git a/matlab/dynare_estimation_1.m b/matlab/dynare_estimation_1.m
index e458173854ad2ba75e10d1ef0033765c222e90fe..6eb4361f8080b6328921d611aade58b594daa268 100644
--- a/matlab/dynare_estimation_1.m
+++ b/matlab/dynare_estimation_1.m
@@ -414,7 +414,6 @@ end
 
 if (any(bayestopt_.pshape  >0 ) && options_.mh_replic) || ...
         (any(bayestopt_.pshape >0 ) && options_.load_mh_file)  %% not ML estimation
-    bounds = prior_bounds(bayestopt_, options_.prior_trunc);
     outside_bound_pars=find(xparam1 < bounds.lb | xparam1 > bounds.ub);
     if ~isempty(outside_bound_pars)
         for ii=1:length(outside_bound_pars)