diff --git a/tests/Makefile.am b/tests/Makefile.am
index c0aae98203fd80dc92a790cbb295f531e9bbe673..e8d809d6d044fc8addd13c3c1af87ef4a02502eb 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -10,6 +10,10 @@ OCTAVE_MODS = \
 	ramst_initval_file.mod \
 	example1_varexo_det.mod \
 	predetermined_variables.mod \
+	k_order_perturbation/fs2000k2a.mod \
+	k_order_perturbation/fs2000k2.mod \
+	k_order_perturbation/fs2000k_1.mod \
+	k_order_perturbation/fs2000k3.mod \
 	arima/mod1.mod \
 	arima/mod1a.mod \
 	arima/mod2.mod \
diff --git a/tests/k_order_perturbation/fs2000k++.mod b/tests/k_order_perturbation/fs2000k++.mod
index be261e455846656d5de47f1b010c5ad39e50e462..09889b70ca0e5475a772fd6b36b7a45e23296d47 100644
--- a/tests/k_order_perturbation/fs2000k++.mod
+++ b/tests/k_order_perturbation/fs2000k++.mod
@@ -1,3 +1,5 @@
+/* Used to check that Dynare++ and Dynare with k_order_solver=1 give the same result */
+
 var m m_1 P P_1 c e W R k d n l gy_obs gp_obs y dA P2 c2;
 varexo e_a e_m;
 
diff --git a/tests/k_order_perturbation/fs2000k2.mod b/tests/k_order_perturbation/fs2000k2.mod
index 324e8741772b695e4fc2c9fd60cbefac51909e72..9937be46b9389d39136ce81f778fed934993bd5c 100644
--- a/tests/k_order_perturbation/fs2000k2.mod
+++ b/tests/k_order_perturbation/fs2000k2.mod
@@ -1,5 +1,5 @@
-// checks for order = 2 that use_k_order = 0 (fs2000k2a) and use_k_order = 1 (this file)
-// give the same results
+/* Checks that, for order = 2, k_order_solver = 0 (fs2000k2a)
+   and k_order_solver = 1 (this file) give the same results */
 
 var m P c e W R k d n l gy_obs gp_obs y dA ;
 varexo e_a e_m;
@@ -57,6 +57,10 @@ steady;
 
 stoch_simul(order=2,k_order_solver,periods=1000);
 
+if ~exist('fs2000k2a_results.mat','file');
+   error('fs2000k2a must be run first');
+end;
+
 oo1 = load('fs2000k2a_results','oo_');
 
 dr0 = oo1.oo_.dr;
diff --git a/tests/k_order_perturbation/fs2000k2a.mod b/tests/k_order_perturbation/fs2000k2a.mod
index 3451779f69fbb3bd5769adf540340ac75934eb1d..d3c22a442db8908a44a2069007bc3424a840a6b7 100644
--- a/tests/k_order_perturbation/fs2000k2a.mod
+++ b/tests/k_order_perturbation/fs2000k2a.mod
@@ -1,5 +1,5 @@
-// checks for order = 2 that use_k_order = 0 (this file) and use_k_order = 1 (fs2000k2)
-// give the same results
+/* Checks that, for order = 2, k_order_solver = 0 (this file)
+   and k_order_solver = 1 (fs2000k2) give the same results */
 
 var m P c e W R k d n l gy_obs gp_obs y dA ;
 varexo e_a e_m;
diff --git a/tests/k_order_perturbation/fs2000k3.mod b/tests/k_order_perturbation/fs2000k3.mod
index 738c8ab0f08b67311498bf5984b59301ad3fea0f..36efd98f3d8e94132cbcf7205bcfa65f982d41ec 100644
--- a/tests/k_order_perturbation/fs2000k3.mod
+++ b/tests/k_order_perturbation/fs2000k3.mod
@@ -1,4 +1,4 @@
-// checks whether second order coefficients are the same with order=2 and order=3 with use_k_order=1
+// checks whether second order coefficients are the same with order=2 and order=3 with k_order_solver=1
 
 var m P c e W R k d n l gy_obs gp_obs y dA ;
 varexo e_a e_m;
diff --git a/tests/k_order_perturbation/fs2000k_1.mod b/tests/k_order_perturbation/fs2000k_1.mod
index a611c2eaa3953521d0134f1a95a45953208deb39..c9e8bb036c12959654633b3945ba838b8a00266c 100644
--- a/tests/k_order_perturbation/fs2000k_1.mod
+++ b/tests/k_order_perturbation/fs2000k_1.mod
@@ -1,3 +1,6 @@
+/* Checks that, for order = 2 and k_order_solver = 1, a model with 2 leads
+   and the same model with one lead (using auxiliary vars) give the same result */
+
 var m m_1 P P_1 c e W R k d n l gy_obs gp_obs y dA AUXv;
 varexo e_a e_m;
 
diff --git a/tests/k_order_perturbation/fs2000kb.mod b/tests/k_order_perturbation/fs2000kb.mod
deleted file mode 100644
index c1d152b0224999ba7732505a3ff62ee7e70346e9..0000000000000000000000000000000000000000
--- a/tests/k_order_perturbation/fs2000kb.mod
+++ /dev/null
@@ -1,89 +0,0 @@
-// checks whether second order coefficients are the same with order=2 and order=3 with use_k_order=1
-
-var m m_1 P P_1 c e W R k d n l gy_obs gp_obs y dA AUXv;
-varexo e_a e_m;
-
-parameters alp bet gam mst rho psi del;
-
-alp = 0.33;
-bet = 0.99;
-gam = 0.003;
-mst = 1.011;
-rho = 0.7;
-psi = 0.787;
-del = 0.02;
-
-model (use_dll);
-dA = exp(gam+e_a);
-log(m) = (1-rho)*log(mst) + rho*log(m_1(-1))+e_m;
--P/(c(+1)*P(+1)*m)+AUXv(+1);
-W = l/n;
--(psi/(1-psi))*(c*P/(1-n))+l/n = 0;
-R = P*(1-alp)*exp(-alp*(gam+e_a))*k(-1)^alp*n^(-alp)/W;
-1/(c*P)-bet*P*(1-alp)*exp(-alp*(gam+e_a))*k(-1)^alp*n^(1-alp)/(m*l*c(+1)*P(+1)) = 0;
-c+k = exp(-alp*(gam+e_a))*k(-1)^alp*n^(1-alp)+(1-del)*exp(-(gam+e_a))*k(-1);
-P*c = m;
-m-1+d = l;
-e = exp(e_a);
-y = k(-1)^alp*n^(1-alp)*exp(-alp*(gam+e_a));
-gy_obs = dA*y/y(-1);
-gp_obs = (P/P_1(-1))*m_1(-1)/dA;
-m_1 = m;
-P_1 = P;
-AUXv = bet*P*(alp*exp(-alp*(gam+log(e)))*k(-1)^(alp-1)*n^(1-alp)+(1-del)*exp(-(gam+log(e))))/(c(+1)*P(+1)*m);
-end;
-
-initval;
-m = mst;
-m_1=mst;
-P = 2.25;
-P_1 = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-k = 6;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam); 
-dA = exp(gam);
-AUXv = 1;
-end;
-
-shocks;
-var e_a; stderr 0.014;
-var e_m; stderr 0.005;
-end;
-
-steady;
-
-stoch_simul(order=2,use_k_order,periods=1000);
-
-if ~exist('fs2000k2a_results.mat','file');
-   error('fs2000k2a must be run first');
-end;
-
-oo1 = load('fs2000k2a_results','oo_');
-
-dr0 = oo1.oo_.dr;
-dr = oo_.dr;
-
-ikr = [2:10 1 13:17];
-ikc2 = [1 3 4 2 9 11 12 10 13 15 16 14 5 7 8 6];
-
-if max(max(abs(dr0.ghxx - dr.ghxx(ikr,ikc2)))) > 1e-12;
-   disp('error in ghxx');
-end;
-if max(max(abs(dr0.ghuu - dr.ghuu(ikr,:)))) > 1e-12;
-   disp('error in ghuu');
-end;
-if max(max(abs(dr0.ghxu - dr.ghxu(ikr,[1 2 5:8 3 4])))) > 1e-12;
-   disp('error in ghxu');
-end;
-if max(max(abs(dr0.ghs2 - dr.ghs2(ikr)))) > 1e-12;
-   disp('error in ghs2');
-end;
-