diff --git a/matlab/optimization/newrat.m b/matlab/optimization/newrat.m
index 546236cf1afec94da3c11ee31c315aa469ed73ad..4f1108ca57bede899ccb5d0c5b81c381470b00b0 100644
--- a/matlab/optimization/newrat.m
+++ b/matlab/optimization/newrat.m
@@ -82,11 +82,12 @@ if ischar(func0)
 end
 
 [fval0,exit_flag,gg,hh]=penalty_objective_function(x,func0,penalty,varargin{:});
+fval=fval0;
 if ~exit_flag
+    igg=NaN(nx);
     disp_verbose('Bad initial parameter.',Verbose)
     return
 end
-fval=fval0;
 
 % initialize mr_gstep and mr_hessian