diff --git a/matlab/dr1.m b/matlab/dr1.m
index 3fa897cf484881b3a9da6560b600b5f6fbfeed33..5ac1c7e27dadf9c17b5b91579336c15480588d08 100644
--- a/matlab/dr1.m
+++ b/matlab/dr1.m
@@ -378,6 +378,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
 
@@ -412,7 +417,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 d05ea719970115e857d82b1df4175c53999df5e0..4d7ecc82a11c95f058310f2f45d023ab12324c2c 100644
--- a/matlab/print_info.m
+++ b/matlab/print_info.m
@@ -48,6 +48,9 @@ if ~noprint
       case 6
         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