diff --git a/matlab/dynare_solve_block_or_bytecode.m b/matlab/dynare_solve_block_or_bytecode.m
index 3717a2784467c17cfe736f0a77e4dcd0106cff86..69cc8d895787600a7ab54edda3b5e76d40a62046 100644
--- a/matlab/dynare_solve_block_or_bytecode.m
+++ b/matlab/dynare_solve_block_or_bytecode.m
@@ -23,7 +23,7 @@ if options.block && ~options.bytecode
         ss = x;
         if M.block_structure_stat.block(b).Simulation_Type ~= 1 && ...
                 M.block_structure_stat.block(b).Simulation_Type ~= 2
-            if options.solve_algo <= 4
+            if options.solve_algo <= 4 || options.solve_algo >= 9
                 [y, check] = dynare_solve('block_mfs_steadystate', ...
                                           ss(M.block_structure_stat.block(b).variable), ...
                                           options, b, ss, exo, params, M);
diff --git a/matlab/steady_.m b/matlab/steady_.m
index a689d46db8610d34999949e83dcb8a40e0f7e530..08890ee61eee3eebf47b26246bcaf7476832ce95 100644
--- a/matlab/steady_.m
+++ b/matlab/steady_.m
@@ -18,7 +18,7 @@ function [steady_state,params,info] = steady_(M_,options_,oo_)
 % SPECIAL REQUIREMENTS
 %   none
 
-% Copyright (C) 2001-2017 Dynare Team
+% Copyright (C) 2001-2020 Dynare Team
 %
 % This file is part of Dynare.
 %
@@ -40,8 +40,8 @@ if options_.solve_algo < 0 || options_.solve_algo > 12
 end
 
 if ~options_.bytecode && ~options_.block && options_.solve_algo > 4 && ...
-        options_.solve_algo < 10
-    error('STEADY: you can''t use solve_algo > 4 without block nor bytecode options')
+        options_.solve_algo < 9
+    error('STEADY: you can''t use solve_algo = {5,6,7,8} without block nor bytecode options')
 end
 
 if ~options_.bytecode && options_.block && options_.solve_algo == 5
@@ -52,4 +52,4 @@ if isoctave && options_.solve_algo == 11
     error(['SIMUL: you can''t use solve_algo = %u under Octave'],options_.solve_algo)
 end
 
-[steady_state,params,info] = evaluate_steady_state(oo_.steady_state,M_,options_,oo_,~options_.steadystate.nocheck);
\ No newline at end of file
+[steady_state,params,info] = evaluate_steady_state(oo_.steady_state,M_,options_,oo_,~options_.steadystate.nocheck);
diff --git a/tests/run_block_byte_tests_matlab.m b/tests/run_block_byte_tests_matlab.m
index 772e4e8a9b946190a40cac1ce7c9c96fd785874f..c8de04d18d6974298c1e63248e96367fb3fceb21 100644
--- a/tests/run_block_byte_tests_matlab.m
+++ b/tests/run_block_byte_tests_matlab.m
@@ -44,10 +44,10 @@ for blockFlag = 0:1
         default_solve_algo = 2;
         default_stack_solve_algo = 0;
         if ~blockFlag && ~bytecodeFlag
-            solve_algos = 1:4;
+            solve_algos = [1:4 9];
             stack_solve_algos = [0 6];
         elseif blockFlag && ~bytecodeFlag
-            solve_algos = [1:4 6:8];
+            solve_algos = [1:4 6:9];
             stack_solve_algos = 0:4;
         else
             solve_algos = 1:8;
diff --git a/tests/run_block_byte_tests_octave.m b/tests/run_block_byte_tests_octave.m
index 69f9b06a172afa1231f13f12db7a1bcb4f25f21c..a2eaa46a454eab9601c958b8f8c7e7f783f19810 100644
--- a/tests/run_block_byte_tests_octave.m
+++ b/tests/run_block_byte_tests_octave.m
@@ -46,10 +46,10 @@ for blockFlag = 0:1
         default_solve_algo = 2;
         default_stack_solve_algo = 0;
         if !blockFlag && !bytecodeFlag
-            solve_algos = 0:4;
+            solve_algos = [0:4 9];
             stack_solve_algos = [0 6];
         elseif blockFlag && !bytecodeFlag
-            solve_algos = [0:4 6:8];
+            solve_algos = [0:4 6:9];
             stack_solve_algos = 0:4;
         else
             solve_algos = 0:8;