diff --git a/matlab/dynare_solve.m b/matlab/dynare_solve.m
index 808ba296f4f2e6e58bb1f77a8065a62e3f2f718b..c48ea368e18731c4cbcc64832fb86fdb0a781f63 100644
--- a/matlab/dynare_solve.m
+++ b/matlab/dynare_solve.m
@@ -186,3 +186,4 @@ elseif options.solve_algo == 10
 else
     error('DYNARE_SOLVE: option solve_algo must be one of [0,1,2,3,4,9,10]')
 end
+
diff --git a/matlab/ep/extended_path.m b/matlab/ep/extended_path.m
index 0dc7f09f973bda35a4c0e74731137017627cb788..ebb6c8700c35132848be9333186e1e2fb7505338 100644
--- a/matlab/ep/extended_path.m
+++ b/matlab/ep/extended_path.m
@@ -211,7 +211,7 @@ while (t <= sample_size)
                                                  exo_simul,ep.init,initial_conditions,...
                                                  maximum_lag,maximum_lead,steady_state, ...
                                                  ep.verbosity,bytecode_flag,ep.stochastic.order,...
-                                                 M_.params,pfm,ep.stochastic.algo,ep.stock_solve_algo,...
+                                                 M_.params,pfm,ep.stochastic.algo,ep.solve_algo,ep.stack_solve_algo,...
                                                  options_.lmmcp,options_,oo_);
         end
     else
@@ -227,7 +227,7 @@ while (t <= sample_size)
                                                  exo_simul,ep.init,initial_conditions,...
                                                  maximum_lag,maximum_lead,steady_state, ...
                                                  ep.verbosity,bytecode_flag,ep.stochastic.order,...
-                                                 M_,pfm,ep.stochastic.algo,ep.stack_solve_algo,...
+                                                 M_,pfm,ep.stochastic.algo,ep.solve_algo,ep.stack_solve_algo,...
                                                  options_.lmmcp,options_,oo_);
         end
     end
@@ -266,7 +266,7 @@ end
 function y = extended_path_core(periods,endo_nbr,exo_nbr,positive_var_indx, ...
                                 exo_simul,init,initial_conditions,...
                                 maximum_lag,maximum_lead,steady_state, ...
-                                verbosity,bytecode_flag,order,M,pfm,algo,stack_solve_algo,...
+                                verbosity,bytecode_flag,order,M,pfm,algo,solve_algo,stack_solve_algo,...
                                 olmmcp,options,oo)
     
     
@@ -297,6 +297,7 @@ if flag
         oo.steady_state = steady_state;
         options.bytecode = bytecode_flag;
         options.lmmcp = olmmcp;
+        options.solve_algo = solve_algo;
         options.stack_solve_algo = stack_solve_algo;
         [tmp,flag] = perfect_foresight_solver_core(M,options,oo);
         if ~flag && ~options.no_homotopy
diff --git a/matlab/lmmcp/get_complementarity_conditions.m b/matlab/lmmcp/get_complementarity_conditions.m
index cf5a40866c68ec71ca77295ed83dd85b524949b9..17910e69662c75e1ac47800ef21352d2484d1f22 100644
--- a/matlab/lmmcp/get_complementarity_conditions.m
+++ b/matlab/lmmcp/get_complementarity_conditions.m
@@ -46,7 +46,7 @@ for i=1:size(etags,1)
                 k = find(strcmp(strtrim(str(1:kop-1)),cellstr(M.endo_names)));
                 if isempty(k)
                     error(sprintf(['Complementarity condition %s: variable %s is ' ...
-                                   'not recognized',etags{i,3},b{1}]))
+                                   'not recognized',etags{i,3},strtrim(str(1:kop-1))]))
                 end
                 ub(k) = str2num(str(kop+1:end));
                 eq_index(etags{i,1}) = k;
@@ -57,7 +57,7 @@ for i=1:size(etags,1)
                 k = find(strcmp(strtrim(str(1:kop-1)),cellstr(M.endo_names)));
                 if isempty(k)
                     error(sprintf(['Complementarity condition %s: variable %s is ' ...
-                                   'not recognized',etags{i},b{1}]))
+                                   'not recognized',etags{i},strtrim(str(1:kop-1))]))
                 end
                 lb(k) = str2num(str(kop+1:end));
                 eq_index(etags{i,1}) = k;