diff --git a/matlab/print_info.m b/matlab/print_info.m
index b406e964a004111787713a13f76ca84c7c827925..15a793614fe22d181594d8ed8cc4380b175e69c6 100644
--- a/matlab/print_info.m
+++ b/matlab/print_info.m
@@ -51,7 +51,20 @@ if ~noprint
       case 7
         error(['One of the eigenvalues is close to 0/0 (the absolute ' ...
                'value of numerator and denominator is smaller than 1e-6)'])
-      case 19
+      case 8
+        if ~isempty(info(2))
+          global M_;
+            disp_string=deblank(M_.param_names(info(2),:));
+          for ii=1:length(info)-2
+            disp_string=[disp_string,', ',deblank(M_.param_names(info(2+ii),:))];
+          end
+          error(['The Jacobian contains NaNs because the following parameters are NaN: '...
+              disp_string])
+        else
+          error(['The Jacobian contains NaNs'])
+        end
+
+        case 19
         error('The steadystate file did not compute the steady state')
       case 20
         error(['Impossible to find the steady state. Either the model' ...
diff --git a/matlab/stochastic_solvers.m b/matlab/stochastic_solvers.m
index 84f2c312fe7cb9f1082ef18db45e79baac3ee49b..8a688a6269b6f65e517761502040d6392c0be740 100644
--- a/matlab/stochastic_solvers.m
+++ b/matlab/stochastic_solvers.m
@@ -120,6 +120,13 @@ if ~isreal(jacobia_)
     end
 end
 
+if any(any(isnan(jacobia_)))
+   info(1) = 8;
+   NaN_params=find(isnan(M_.params));
+   info(2:length(NaN_params)+1) =  NaN_params;
+   return
+end
+
 kstate = dr.kstate;
 kad = dr.kad;
 kae = dr.kae;