diff --git a/matlab/dr1.m b/matlab/dr1.m
index fa9b399f29b1bc1b5f573b28c4534cfa8ae0c1c2..3fa897cf484881b3a9da6560b600b5f6fbfeed33 100644
--- a/matlab/dr1.m
+++ b/matlab/dr1.m
@@ -363,6 +363,7 @@ else  % use original Dynare solver
     if info1
         info(1) = 2;
         info(2) = info1;
+        info(3) = size(e,2);
         return
     end
 
diff --git a/matlab/print_info.m b/matlab/print_info.m
index 60b80f0e0e4629e1d82d139ce82e335304bf87aa..d05ea719970115e857d82b1df4175c53999df5e0 100644
--- a/matlab/print_info.m
+++ b/matlab/print_info.m
@@ -33,8 +33,9 @@ if ~noprint
         error(['The model doesn''t determine the current variables' ...
                ' uniquely'])
       case 2
-        error(['MJDGGES returns the following error code: ' ...
-               int2str(info(2))])
+        error(['The generalized Schur (QZ) decomposition failed. ' ...
+               'For more information, see the documentation for Lapack function dgges: info=' ...
+               int2str(info(2)) ', n=' int2str(info(3))])
       case 3
         error(['Blanchard Kahn conditions are not satisfied: no stable' ...
                ' equilibrium'])
@@ -105,4 +106,4 @@ if ~noprint
       otherwise
         error('This case shouldn''t happen. Contact the authors of Dynare')
     end
-end
\ No newline at end of file
+end