diff --git a/matlab/dr1.m b/matlab/dr1.m
index ddeecda09e9d46d8483861cf1a41ee3f3ce2359a..f92d6fb721c3bfbeb616a00634e14e9ad0bd6465 100644
--- a/matlab/dr1.m
+++ b/matlab/dr1.m
@@ -368,6 +368,11 @@ else  % use original Dynare solver
         if ~exist('OCTAVE_VERSION')
             dr.eigval = eig(e,d);
         end
+        for i=1:nd
+            if abs(ss(i,i)) < 1e-6 && abs(tt(i,i)) < 1e-6
+                info(7) = 1;
+            end
+        end
         return
     end
 
@@ -402,7 +407,7 @@ else  % use original Dynare solver
     % derivatives with respect to dynamic state variables
     % forward variables
     w1 =w(1:n3,n2:nd);
-    if ~isfloat(w1) && (condest(w1) > 1e9)
+    if ~isscalar(w1) && (condest(w1) > 1e9)
         % condest() fails on a scalar under Octave
         info(1) = 5;
         info(2) = condest(w1);
diff --git a/matlab/print_info.m b/matlab/print_info.m
index 7c1a3bd1672a8eed64fe2146da05ea02c5532525..a509aff50e15c9193574968f0033066b4e4ced8f 100644
--- a/matlab/print_info.m
+++ b/matlab/print_info.m
@@ -45,7 +45,11 @@ if ~noprint
         error(['Blanchard Kahn conditions are not satisfied:' ...
                ' indeterminacy due to rank failure'])
       case 6
-        error('The jacobian matrix evaluated at the steady state is complex')
+        error(['The Jacobian matrix evaluated at the steady state contains elements ' ...
+               'that are not real or are infinite'])
+      case 7
+        error(['One of the eigenvalue is is close to 0/0 (the absolute ' ...
+               'value of numerator and denominator is smaller than 1e-6).'])
       case 19
         error('The steadystate file did not compute the steady state (inconsistent deep parameters).')
       case 20
@@ -89,4 +93,4 @@ if ~noprint
       otherwise
         error('This case shouldn''t happen. Contact the authors of Dynare')
     end
-end
\ No newline at end of file
+end