diff --git a/matlab/DsgeVarLikelihood.m b/matlab/DsgeVarLikelihood.m
index c00c4e92cb3ab6bb198675ae1a978ac65cd00f64..c0a0196bcd2efbdb98fbac2d0e6acb2d69f3dc37 100644
--- a/matlab/DsgeVarLikelihood.m
+++ b/matlab/DsgeVarLikelihood.m
@@ -146,7 +146,8 @@ end
 [T,R,SteadyState,info,Model,DynareOptions,DynareResults] = dynare_resolve(Model,DynareOptions,DynareResults,'restrict');
 
 % Return, with endogenous penalty when possible, if dynare_resolve issues an error code (defined in resol).
-if info(1) == 1 || info(1) == 2 || info(1) == 5
+if info(1) == 1 || info(1) == 2 || info(1) == 5 || info(1) == 7 || info(1) ...
+            == 8 || info(1) == 22 || info(1) == 24
     fval = penalty+1;
     info = info(1);
     exit_flag = 0;