diff --git a/matlab/run_simulations.m b/matlab/run_simulations.m
index 0de88ea45eaa572929dbac47a80258dee14151e2..4966512bcbc238396cd8c66d617017c4535b6c3a 100644
--- a/matlab/run_simulations.m
+++ b/matlab/run_simulations.m
@@ -19,6 +19,10 @@ function run_simulations(model, stack_solve_algo, static_solve_algo, niter, ccri
 
 global oo_
 
+dynare_config;
+tmp = strsplit(dynare_version, {'.','-'});
+dynare_version_major = str2num(tmp{1});
+
 if niter==0
     error('Fourth argument (number of iterations) cannot be equal to zero.')
 end
@@ -62,7 +66,13 @@ end
 %
 % Matlab
 %
-for algo = [0, 1]
+for algo = stack_solve_algo
+    if ismember(algo, [4 5]) || (ismember(algo, [2 3]) && dynare_version_major <= 6)
+         % These algorithms are not available
+         Timings.MATLAB_preprocessing(id(stack_solve_algo==algo), 1) = -10;
+         Timings.MATLAB_computing(id(stack_solve_algo==algo), 1) = -10;
+         continue
+    end
     if algo<7
         if isnan(Timings.MATLAB_computing(id(stack_solve_algo==algo), 1))
             % Try to simulate the model if this configuration has not been tried before (with or without success).
@@ -111,15 +121,16 @@ for algo = [0, 1]
         end
     end
 end
-for algo = [2, 3, 4, 5]
-    % These algorithms are not available
-    Timings.MATLAB_preprocessing(id(stack_solve_algo==algo), 1) = -10;
-    Timings.MATLAB_computing(id(stack_solve_algo==algo), 1) = -10;
-end
 %
 % use_dll
 %
-for algo = [0, 1]
+for algo = stack_solve_algo
+    if ismember(algo, [4 5]) || (ismember(algo, [2 3]) && dynare_version_major <= 6)
+         % These algorithms are not available
+         Timings.USE_DLL_preprocessing(id(stack_solve_algo==algo), 1) = -10;
+         Timings.USE_DLL_computing(id(stack_solve_algo==algo), 1) = -10;
+         continue
+    end
     if algo<7
         try
             if isnan(Timings.USE_DLL_computing(id(stack_solve_algo==algo), 1))
@@ -166,15 +177,10 @@ for algo = [0, 1]
         end
     end
 end
-for algo = [2, 3, 4, 5]
-    % These algorithms are not available
-    Timings.USE_DLL_preprocessing(id(stack_solve_algo==algo), 1) = -10;
-    Timings.USE_DLL_computing(id(stack_solve_algo==algo), 1) = -10;
-end
 %
 % Bytecode
 %
-for algo = [0, 1, 2, 3, 4, 5]
+for algo = stack_solve_algo
     try
         if isnan(Timings.BYTECODE_computing(id(stack_solve_algo==algo), 1))
             disp_title(sprintf('| BYTECODE (solve_algo=%u, no blocks, model=%s) |', algo, model));
@@ -200,7 +206,13 @@ end
 % Matlab with blocks
 %
 for mfs = 0:3
-    for algo = [0, 1, 2, 3, 4]
+    for algo = stack_solve_algo
+        if algo == 5
+             % Algorithm not available
+             Timings.MATLAB_WITH_BLOCKS_preprocessing(id(stack_solve_algo==algo), mfs+1) = -10;
+             Timings.MATLAB_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1) = -10;
+             continue
+        end
         if isnan(Timings.MATLAB_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1))
             try
                 disp_title(sprintf('| MATLAB (solve_algo=%u, with blocks, mfs=%u, model=%s) |', algo, mfs, model));
@@ -227,7 +239,13 @@ end
 % USE_DLL with blocks
 %
 for mfs = 0:3
-    for algo = [0, 1, 2, 3, 4]
+    for algo = stack_solve_algo
+        if algo == 5
+             % Algorithm not available
+             Timings.USE_DLL_WITH_BLOCKS_preprocessing(id(stack_solve_algo==algo), mfs+1) = -10;
+             Timings.USE_DLL_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1) = -10;
+             continue
+        end
         if isnan(Timings.USE_DLL_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1))
             try
                 disp_title(sprintf('| USE_DLL (solve_algo=%u, with blocks, mfs=%u, model=%s) |', algo, mfs, model));
@@ -256,7 +274,7 @@ end
 % Bytecode with blocks
 %
 for mfs = 0:3
-    for algo = [0, 1, 2, 3, 4, 5]
+    for algo = stack_solve_algo
         if isnan(Timings.BYTECODE_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1))
             try
                 disp_title(sprintf('| BYTECODE (solve_algo=%u, with blocks, mfs=%u, model=%s) |', algo, mfs, model));
diff --git a/matlab/write_table_short.m b/matlab/write_table_short.m
index 9b69fa0596d7b682e11afffd1d83ddb361eb4a38..3dac9da8211899afb9d7b83dc8ac2e97d3133d5c 100644
--- a/matlab/write_table_short.m
+++ b/matlab/write_table_short.m
@@ -32,7 +32,7 @@ fclose(fid);
 %
 % Matlab
 %
-for algo = [0, 1]
+for algo = stack_solve_algo
     if ~isnan(MATLAB_computing(id(stack_solve_algo==algo), 1))
         switch MATLAB_computing(id(stack_solve_algo==algo), 1)
           case -1
@@ -41,6 +41,8 @@ for algo = [0, 1]
             T = strrep(T, sprintf('{a%u_mat}', algo), 'FAIL');   % algorithm did not converge
           case -3
             T = strrep(T, sprintf('{a%u_mat}', algo), 'CRASH');  % matlab crash
+          case -10
+            T = strrep(T, sprintf('{a%u_mat}', algo), 'NA');  % not available
           otherwise
             T = strrep(T, sprintf('{a%u_mat}', algo), int2str(MATLAB_computing(id(stack_solve_algo==algo), 1)));
         end
@@ -49,7 +51,7 @@ end
 %
 % use_dll
 %
-for algo = [0, 1]
+for algo = stack_solve_algo
     if ~isnan(USE_DLL_computing(id(stack_solve_algo==algo), 1))
         switch USE_DLL_computing(id(stack_solve_algo==algo), 1)
           case -1
@@ -58,6 +60,8 @@ for algo = [0, 1]
             T = strrep(T, sprintf('{a%u_dll}', algo), 'FAIL');
           case -3
             T = strrep(T, sprintf('{a%u_dll}', algo), 'CRASH');
+          case -10
+            T = strrep(T, sprintf('{a%u_dll}', algo), 'NA');
           otherwise
             T = strrep(T, sprintf('{a%u_dll}', algo), int2str(USE_DLL_computing(id(stack_solve_algo==algo), 1)));
         end
@@ -66,7 +70,7 @@ end
 %
 % Bytecode
 %
-for algo = [0, 1, 2, 3, 4, 5]
+for algo = stack_solve_algo
     if ~isnan(BYTECODE_computing(id(stack_solve_algo==algo), 1))
         switch BYTECODE_computing(id(stack_solve_algo==algo), 1)
           case -1
@@ -75,6 +79,8 @@ for algo = [0, 1, 2, 3, 4, 5]
             T = strrep(T, sprintf('{a%u_byt}', algo), 'FAIL');
           case -3
             T = strrep(T, sprintf('{a%u_byt}', algo), 'CRASH');
+          case -10
+            T = strrep(T, sprintf('{a%u_byt}', algo), 'NA');
           otherwise
             T = strrep(T, sprintf('{a%u_byt}', algo), int2str(BYTECODE_computing(id(stack_solve_algo==algo), 1)));
         end
@@ -84,7 +90,7 @@ end
 % Matlab with blocks
 %
 for mfs = 0:3
-    for algo = [0, 1, 2, 3, 4]
+    for algo = stack_solve_algo
         if ~isnan(MATLAB_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1))
             switch MATLAB_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1)
               case -1
@@ -93,6 +99,8 @@ for mfs = 0:3
                 T = strrep(T, sprintf('{a%u_mat_blk_%u}', algo, mfs), 'FAIL');
               case -3
                 T = strrep(T, sprintf('{a%u_mat_blk_%u}', algo, mfs), 'CRASH');
+              case -10
+                T = strrep(T, sprintf('{a%u_mat_blk_%u}', algo, mfs), 'NA');
               otherwise
                 T = strrep(T, sprintf('{a%u_mat_blk_%u}', algo, mfs), int2str(MATLAB_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1)));
             end
@@ -103,7 +111,7 @@ end
 % USE_DLL with blocks
 %
 for mfs = 0:3
-    for algo = [0, 1, 2, 3, 4]
+    for algo = stack_solve_algo
         if ~isnan(USE_DLL_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1))
             switch USE_DLL_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1)
               case -1
@@ -112,6 +120,8 @@ for mfs = 0:3
                 T = strrep(T, sprintf('{a%u_dll_blk_%u}', algo, mfs), 'FAIL');
               case -3
                 T = strrep(T, sprintf('{a%u_dll_blk_%u}', algo, mfs), 'CRASH');
+              case -10
+                T = strrep(T, sprintf('{a%u_dll_blk_%u}', algo, mfs), 'NA');
               otherwise
                 T = strrep(T, sprintf('{a%u_dll_blk_%u}', algo, mfs), int2str(USE_DLL_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1)));
             end
@@ -122,7 +132,7 @@ end
 % Bytecode with blocks
 %
 for mfs = 0:3
-    for algo = [0, 1, 2, 3, 4, 5]
+    for algo = stack_solve_algo
         if ~isnan(BYTECODE_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1))
             switch BYTECODE_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1)
               case -1
@@ -131,6 +141,8 @@ for mfs = 0:3
                 T = strrep(T, sprintf('{a%u_byt_blk_%u}', algo, mfs), 'FAIL');
               case -3
                 T = strrep(T, sprintf('{a%u_byt_blk_%u}', algo, mfs), 'CRASH');
+              case -10
+                T = strrep(T, sprintf('{a%u_byt_blk_%u}', algo, mfs), 'NA');
               otherwise
                 T = strrep(T, sprintf('{a%u_byt_blk_%u}', algo, mfs), int2str(BYTECODE_WITH_BLOCKS_computing(id(stack_solve_algo==algo), mfs+1)));
             end
diff --git a/tables/template-short.tex b/tables/template-short.tex
index c685215fdb4d5577eac650cf2c7545d7193deedf..7625f795020c32cef87653d8ba8b3794c4d09655 100644
--- a/tables/template-short.tex
+++ b/tables/template-short.tex
@@ -11,10 +11,10 @@
   \cline{2-16}
   \texttt{0} & {a0_mat} & {a0_dll} & {a0_byt} & {a0_mat_blk_0} & {a0_mat_blk_1} & {a0_mat_blk_2} & {a0_mat_blk_3} & {a0_dll_blk_0} & {a0_dll_blk_1} & {a0_dll_blk_2} & {a0_dll_blk_3} & {a0_byt_blk_0} & {a0_byt_blk_1} & {a0_byt_blk_2} & {a0_byt_blk_3} \\
   \texttt{1} & {a1_mat} & {a1_dll} & {a1_byt} & {a1_mat_blk_0} & {a1_mat_blk_1} & {a1_mat_blk_2} & {a1_mat_blk_3} & {a1_dll_blk_0} & {a1_dll_blk_1} & {a1_dll_blk_2} & {a1_dll_blk_3} & {a1_byt_blk_0} & {a1_byt_blk_1} & {a1_byt_blk_2} & {a1_byt_blk_3} \\
-  \texttt{2} & NA & NA & {a2_byt} & {a2_mat_blk_0} & {a2_mat_blk_1} & {a2_mat_blk_2} & {a2_mat_blk_3} & {a2_dll_blk_0} & {a2_dll_blk_1} & {a2_dll_blk_2} & {a2_dll_blk_3} & {a2_byt_blk_0} & {a2_byt_blk_1} & {a2_byt_blk_2} & {a2_byt_blk_3} \\
-  \texttt{3} & NA & NA & {a3_byt} & {a3_mat_blk_0} & {a3_mat_blk_1} & {a3_mat_blk_2} & {a3_mat_blk_3} & {a3_dll_blk_0} & {a3_dll_blk_1} & {a3_dll_blk_2} & {a3_dll_blk_3} & {a3_byt_blk_0} & {a3_byt_blk_1} & {a3_byt_blk_2} & {a3_byt_blk_3} \\
-  \texttt{4} & NA & NA & {a4_byt} & {a4_mat_blk_0} & {a4_mat_blk_1} & {a4_mat_blk_2} & {a4_mat_blk_3} & {a4_dll_blk_0} & {a4_dll_blk_1} & {a4_dll_blk_2} & {a4_dll_blk_3} & {a4_byt_blk_0} & {a4_byt_blk_1} & {a4_byt_blk_2} & {a4_byt_blk_3} \\
-  \texttt{5} & NA & NA & {a5_byt} & NA & NA  & NA  & NA & NA & NA & NA & NA & {a5_byt_blk_0} & {a5_byt_blk_1} & {a5_byt_blk_2} & {a5_byt_blk_3}\\
+  \texttt{2} & {a2_mat} & {a2_dll} & {a2_byt} & {a2_mat_blk_0} & {a2_mat_blk_1} & {a2_mat_blk_2} & {a2_mat_blk_3} & {a2_dll_blk_0} & {a2_dll_blk_1} & {a2_dll_blk_2} & {a2_dll_blk_3} & {a2_byt_blk_0} & {a2_byt_blk_1} & {a2_byt_blk_2} & {a2_byt_blk_3} \\
+  \texttt{3} & {a3_mat} & {a3_dll} & {a3_byt} & {a3_mat_blk_0} & {a3_mat_blk_1} & {a3_mat_blk_2} & {a3_mat_blk_3} & {a3_dll_blk_0} & {a3_dll_blk_1} & {a3_dll_blk_2} & {a3_dll_blk_3} & {a3_byt_blk_0} & {a3_byt_blk_1} & {a3_byt_blk_2} & {a3_byt_blk_3} \\
+  \texttt{4} & {a4_mat} & {a4_dll} & {a4_byt} & {a4_mat_blk_0} & {a4_mat_blk_1} & {a4_mat_blk_2} & {a4_mat_blk_3} & {a4_dll_blk_0} & {a4_dll_blk_1} & {a4_dll_blk_2} & {a4_dll_blk_3} & {a4_byt_blk_0} & {a4_byt_blk_1} & {a4_byt_blk_2} & {a4_byt_blk_3} \\
+  \texttt{5} & {a5_mat} & {a5_dll} & {a5_byt} & {a5_mat_blk_0} & {a5_mat_blk_1} & {a5_mat_blk_2} & {a5_mat_blk_3} & {a5_dll_blk_0} & {a5_dll_blk_1} & {a5_dll_blk_2} & {a5_dll_blk_3} & {a5_byt_blk_0} & {a5_byt_blk_1} & {a5_byt_blk_2} & {a5_byt_blk_3} \\
   \hline
 \end{tabular}
 
diff --git a/tables/template.tex b/tables/template.tex
index 130811b9908ee9a1ed1f520458ba8d33abdbcf17..99ef7eb5aebe8820c3d10fe1aa6f0870b044735c 100644
--- a/tables/template.tex
+++ b/tables/template.tex
@@ -11,10 +11,10 @@
   \cline{2-16}
   \texttt{0} & {a0_mat} & {a0_dll} & {a0_byt} & {a0_mat_blk_0} & {a0_mat_blk_1} & {a0_mat_blk_2} & {a0_mat_blk_3} & {a0_dll_blk_0} & {a0_dll_blk_1} & {a0_dll_blk_2} & {a0_dll_blk_3} & {a0_byt_blk_0} & {a0_byt_blk_1} & {a0_byt_blk_2} & {a0_byt_blk_3} \\
   \texttt{1} & {a1_mat} & {a1_dll} & {a1_byt} & {a1_mat_blk_0} & {a1_mat_blk_1} & {a1_mat_blk_2} & {a1_mat_blk_3} & {a1_dll_blk_0} & {a1_dll_blk_1} & {a1_dll_blk_2} & {a1_dll_blk_3} & {a1_byt_blk_0} & {a1_byt_blk_1} & {a1_byt_blk_2} & {a1_byt_blk_3} \\
-  \texttt{2} & NA & NA & {a2_byt} & {a2_mat_blk_0} & {a2_mat_blk_1} & {a2_mat_blk_2} & {a2_mat_blk_3} & {a2_dll_blk_0} & {a2_dll_blk_1} & {a2_dll_blk_2} & {a2_dll_blk_3} & {a2_byt_blk_0} & {a2_byt_blk_1} & {a2_byt_blk_2} & {a2_byt_blk_3} \\
-  \texttt{3} & NA & NA & {a3_byt} & {a3_mat_blk_0} & {a3_mat_blk_1} & {a3_mat_blk_2} & {a3_mat_blk_3} & {a3_dll_blk_0} & {a3_dll_blk_1} & {a3_dll_blk_2} & {a3_dll_blk_3} & {a3_byt_blk_0} & {a3_byt_blk_1} & {a3_byt_blk_2} & {a3_byt_blk_3} \\
-  \texttt{4} & NA & NA & {a4_byt} & {a4_mat_blk_0} & {a4_mat_blk_1} & {a4_mat_blk_2} & {a4_mat_blk_3} & {a4_dll_blk_0} & {a4_dll_blk_1} & {a4_dll_blk_2} & {a4_dll_blk_3} & {a4_byt_blk_0} & {a4_byt_blk_1} & {a4_byt_blk_2} & {a4_byt_blk_3} \\
-  \texttt{5} & NA & NA & {a5_byt} & NA & NA  & NA  & NA & NA & NA & NA & NA & {a5_byt_blk_0} & {a5_byt_blk_1} & {a5_byt_blk_2} & {a5_byt_blk_3}\\
+  \texttt{2} & {a2_mat} & {a2_dll} & {a2_byt} & {a2_mat_blk_0} & {a2_mat_blk_1} & {a2_mat_blk_2} & {a2_mat_blk_3} & {a2_dll_blk_0} & {a2_dll_blk_1} & {a2_dll_blk_2} & {a2_dll_blk_3} & {a2_byt_blk_0} & {a2_byt_blk_1} & {a2_byt_blk_2} & {a2_byt_blk_3} \\
+  \texttt{3} & {a3_mat} & {a3_dll} & {a3_byt} & {a3_mat_blk_0} & {a3_mat_blk_1} & {a3_mat_blk_2} & {a3_mat_blk_3} & {a3_dll_blk_0} & {a3_dll_blk_1} & {a3_dll_blk_2} & {a3_dll_blk_3} & {a3_byt_blk_0} & {a3_byt_blk_1} & {a3_byt_blk_2} & {a3_byt_blk_3} \\
+  \texttt{4} & {a4_mat} & {a4_dll} & {a4_byt} & {a4_mat_blk_0} & {a4_mat_blk_1} & {a4_mat_blk_2} & {a4_mat_blk_3} & {a4_dll_blk_0} & {a4_dll_blk_1} & {a4_dll_blk_2} & {a4_dll_blk_3} & {a4_byt_blk_0} & {a4_byt_blk_1} & {a4_byt_blk_2} & {a4_byt_blk_3} \\
+  \texttt{5} & {a5_mat} & {a5_dll} & {a5_byt} & {a5_mat_blk_0} & {a5_mat_blk_1} & {a5_mat_blk_2} & {a5_mat_blk_3} & {a5_dll_blk_0} & {a5_dll_blk_1} & {a5_dll_blk_2} & {a5_dll_blk_3} & {a5_byt_blk_0} & {a5_byt_blk_1} & {a5_byt_blk_2} & {a5_byt_blk_3} \\
 
   \texttt{7(0)} & {a7_0_mat} & {a7_0_dll} & NA & NA & NA  & NA  & NA & NA & NA & NA & NA & NA & NA & NA & NA\\
   \texttt{7(1)} & {a7_1_mat} & {a7_1_dll} & NA & NA & NA  & NA  & NA & NA & NA & NA & NA & NA & NA & NA & NA\\