diff --git a/matlab/dynare_solve.m b/matlab/dynare_solve.m
index d4b7352217374068e18b8d773810c9d3b9207cf2..37483e46f2f01fe0ade417a48c32efc0cbae5f9f 100644
--- a/matlab/dynare_solve.m
+++ b/matlab/dynare_solve.m
@@ -48,8 +48,10 @@ else
 end
 if strcmp(caller_file_name,'solve_stacked_problem.m')
     tolf = options.dynatol.f;
+    tolx = options.dynatol.x;
 else
     tolf = options.solve_tolf;
+    tolx = options.solve_tolx;
 end
 
 if strcmp(caller_file_name,'dyn_ramsey_static.m')
@@ -216,11 +218,11 @@ if options.solve_algo == 0
     end
 elseif options.solve_algo == 1
     [x,info]=solve1(func,x,1:nn,1:nn,jacobian_flag,options.gstep, ...
-                    tolf,options.solve_tolx, ...
+                    tolf,tolx, ...
                     maxit,options.debug,varargin{:});
 elseif options.solve_algo == 9
     [x,info]=trust_region(func,x,1:nn,1:nn,jacobian_flag,options.gstep, ...
-                          tolf,options.solve_tolx, ...
+                          tolf,tolx, ...
                           maxit,options.debug,varargin{:});
 elseif options.solve_algo == 2 || options.solve_algo == 4
 
@@ -252,7 +254,7 @@ elseif options.solve_algo == 2 || options.solve_algo == 4
         end
         [x,info]=solver(func,x,j1(r(i):r(i+1)-1),j2(r(i):r(i+1)-1),jacobian_flag, ...
                         options.gstep, ...
-                        tolf,options.solve_tolx, ...
+                        tolf,tolx, ...
                         maxit,options.debug,varargin{:});
         if info
             return
@@ -261,7 +263,7 @@ elseif options.solve_algo == 2 || options.solve_algo == 4
     fvec = feval(func,x,varargin{:});
     if max(abs(fvec)) > tolf
         [x,info]=solver(func,x,1:nn,1:nn,jacobian_flag, ...
-                        options.gstep, tolf,options.solve_tolx, ...
+                        options.gstep, tolf,tolx, ...
                         maxit,options.debug,varargin{:});
     end
 elseif options.solve_algo == 3
diff --git a/matlab/evaluate_steady_state_file.m b/matlab/evaluate_steady_state_file.m
index 7a299f0fad12de0a27aa0ed29748dbbe047eb17d..c503f6db2d4f358eeae2d8696aa2a4a357c7da76 100644
--- a/matlab/evaluate_steady_state_file.m
+++ b/matlab/evaluate_steady_state_file.m
@@ -111,7 +111,7 @@ if steady_state_checkflag
         info(2) = check; % to be improved
         return
     end
-    if max(abs(residuals)) > options.dynatol.f
+    if max(abs(residuals)) > options.solve_tolf
         info(1) = 19;
         info(2) = residuals'*residuals;
         return
diff --git a/matlab/partial_information/PCL_resol.m b/matlab/partial_information/PCL_resol.m
index 9ddda8c13c33c635dcf910c6d5cb8df6620f01d9..52e418e2ed5d10b02747af8ff3fdbf81fa38e9cb 100644
--- a/matlab/partial_information/PCL_resol.m
+++ b/matlab/partial_information/PCL_resol.m
@@ -88,7 +88,7 @@ else
         if options_.linear == 0
             % nonlinear models
             if max(abs(feval(fh,dr.ys,[oo_.exo_steady_state; ...
-                                    oo_.exo_det_steady_state], M_.params))) > options_.dynatol.f
+                                    oo_.exo_det_steady_state], M_.params))) > options_.solve_tolf
                 opt = options_;
                 opt.jacobian_flag = false;
                 [dr.ys,check1] = dynare_solve(fh,dr.ys,opt,...
diff --git a/matlab/resid.m b/matlab/resid.m
index 716c9c5b36f721d88ed92719ed3647d788a9d10f..945708e327f324f03be8e9869973080e8269e69e 100644
--- a/matlab/resid.m
+++ b/matlab/resid.m
@@ -98,7 +98,7 @@ if nargout == 0
     disp('Residuals of the static equations:')
     skipline()
     for i=1:M_.orig_endo_nbr
-        if abs(z(i)) < options_.dynatol.f/100
+        if abs(z(i)) < options_.solve_tolf/100
             tmp = 0;
         else
             tmp = z(i);