diff --git a/matlab/estimation/check_posterior_sampler_options.m b/matlab/estimation/check_posterior_sampler_options.m
index e7fab78d69ef8e1fed79a546e0934e098de2797b..c0d4235ff1f22091c40ca8019036780afacbeb2d 100644
--- a/matlab/estimation/check_posterior_sampler_options.m
+++ b/matlab/estimation/check_posterior_sampler_options.m
@@ -464,7 +464,7 @@ if ~strcmp(posterior_sampler_options.posterior_sampling_method,'slice')
 end
 
 if options_.load_mh_file && posterior_sampler_options.use_mh_covariance_matrix
-    [~, invhess] = compute_posterior_covariance_matrix(bayestopt_.name, fname, dname, outputFolderName);
+    [~, invhess] = compute_posterior_covariance_matrix(bayestopt_.name, fname, dname, options_, outputFolderName);
     posterior_sampler_options.invhess = invhess;
 end
 
diff --git a/matlab/estimation/marginal_density.m b/matlab/estimation/marginal_density.m
index 26e45e5260846411adefb4fd120fc60dc1b55d5c..eb8443a343ec674f1b093f963087792410d974ab 100644
--- a/matlab/estimation/marginal_density.m
+++ b/matlab/estimation/marginal_density.m
@@ -51,7 +51,7 @@ TotalNumberOfMhDraws = sum(record.MhDraws(:,1));
 TODROP = floor(options_.mh_drop*TotalNumberOfMhDraws);
 
 fprintf('marginal density: I''m computing the posterior mean and covariance... ');
-[posterior_mean, posterior_covariance, posterior_mode, posterior_kernel_at_the_mode] = compute_posterior_covariance_matrix(bayestopt_.name, M_.fname, M_.dname, outputFolderName);
+[posterior_mean, posterior_covariance, posterior_mode, posterior_kernel_at_the_mode] = compute_posterior_covariance_matrix(bayestopt_.name, M_.fname, M_.dname, options_, outputFolderName);
 
 MU = transpose(posterior_mean);
 SIGMA = posterior_covariance;
diff --git a/matlab/estimation/posterior_sampler_initialization.m b/matlab/estimation/posterior_sampler_initialization.m
index 8988be0919a7e5900cfffe0c4c195b7b4590d358..1307588241be140b05f78e4b6e5494602ef4bce5 100644
--- a/matlab/estimation/posterior_sampler_initialization.m
+++ b/matlab/estimation/posterior_sampler_initialization.m
@@ -386,7 +386,9 @@ elseif options_.load_mh_file && ~options_.mh_recover
     record.InitialSeeds = record.LastSeeds;
     write_mh_history_file(MetropolisFolder, ModelName, record);
     fprintf('Done.\n')
-    fprintf('%s: Ok. I have loaded %u simulations.\n\n', dispString,NumberOfPreviousSimulations);
+    if ~options_.use_mh_covariance_matrix
+        fprintf('%s: Ok. I have loaded %u simulations.\n\n', dispString,NumberOfPreviousSimulations);
+    end
     fclose(fidlog);
 elseif options_.mh_recover
     % The previous metropolis-hastings crashed before the end! I try to recover the saved draws...
diff --git a/matlab/parallel/storeGlobalVars.m b/matlab/parallel/storeGlobalVars.m
index 8ab05dc1d2ba550e0b685068c22fa71fc5407967..397d7b3ec872e802d3299bc3f8625e64fb7df4a6 100644
--- a/matlab/parallel/storeGlobalVars.m
+++ b/matlab/parallel/storeGlobalVars.m
@@ -12,7 +12,7 @@ function storeGlobalVars(fname,append)
 % None
 %
 %
-% Copyright © 2009-2017 Dynare Team
+% Copyright © 2009-2023 Dynare Team
 %
 % This file is part of Dynare.
 %
@@ -34,7 +34,7 @@ GlobalNames = who('global');
 
 for j=1:length(GlobalNames)
     eval(['global ',GlobalNames{j},';']);
-    fGlobalvar.(GlobalNames{j}) = GlobalNames{j};
+    fGlobalVar.(GlobalNames{j}) = eval(GlobalNames{j});
 end
 
 if nargin<2