diff --git a/matlab/posterior_sampler.m b/matlab/posterior_sampler.m
index 210374f19e267a58ad417085acf5884da70b6bd9..cef949a5737e1f0142a96d5d31ea95a9fec73db4 100644
--- a/matlab/posterior_sampler.m
+++ b/matlab/posterior_sampler.m
@@ -156,8 +156,10 @@ else
         record.FunctionEvalPerIteration(offset+1:sum(nBlockPerCPU(1:j)))=fout(j).record.FunctionEvalPerIteration(offset+1:sum(nBlockPerCPU(1:j)));
         record.LastSeeds(offset+1:sum(nBlockPerCPU(1:j)))=fout(j).record.LastSeeds(offset+1:sum(nBlockPerCPU(1:j)));
         if j==1
-            record.ProposalCovariance=fout(j).record.ProposalCovariance;
-            record.ProposalScaleVec=fout(j).record.ProposalScaleVec;
+            if isfield(fout(j).record,'ProposalCovariance') && isfield(fout(j).record,'ProposalScaleVec')
+                record.ProposalCovariance=fout(j).record.ProposalCovariance;
+                record.ProposalScaleVec=fout(j).record.ProposalScaleVec;
+            end
         end
     end
     options_.parallel_info.parallel_recover = 0;