diff --git a/matlab/mr_hessian.m b/matlab/mr_hessian.m
index 0b059d9d6a0db5a13d56477e6535537e9700c4b2..9fe04ddad9e2f51b540a4f074a51bd49086bb242 100644
--- a/matlab/mr_hessian.m
+++ b/matlab/mr_hessian.m
@@ -133,7 +133,7 @@ while i<n
     end
     f1(:,i)=fx;
     if outer_product_gradient,
-        if any(isnan(ffx))
+        if any(isnan(ffx)) || isempty(ffx),
             ff1=ones(size(ff0)).*fx/length(ff0);
         else
             ff1=ffx;
@@ -143,7 +143,7 @@ while i<n
     [fx, ffx]=feval(func,xh1,DynareDataset,DynareOptions,Model,EstimatedParameters,BayesInfo,DynareResults);
     f_1(:,i)=fx;
     if outer_product_gradient,
-        if any(isnan(ffx))
+        if any(isnan(ffx)) || isempty(ffx),
             ff_1=ones(size(ff0)).*fx/length(ff0);
         else
             ff_1=ffx;