diff --git a/matlab/initial_estimation_checks.m b/matlab/initial_estimation_checks.m
index 98bb6672d81cd3b7220ac8fdf21b7bb519fb530a..588a014cd41e0ff80ebd6a89bb13c1c83db83afe 100644
--- a/matlab/initial_estimation_checks.m
+++ b/matlab/initial_estimation_checks.m
@@ -167,8 +167,8 @@ end
 if info(1) > 0
     if DynareOptions.order>1
         [eigenvalues_] = check(Model,DynareOptions, DynareResults);
-        if any(abs(1-abs(eigenvalues_))<1e-10)
-            error('Your model has a unit root, but estimation at order>1 currently only supports stationary models')
+        if any(abs(eigenvalues_)>DynareOptions.qz_criterium)
+            error('Your model has at least one unit root and you are using a nonlinear filter. Please set nonlinear_filter_initialization=3.')
         end
     else
     disp('Error in computing likelihood for initial parameter values')