diff --git a/mex/sources/bytecode/ErrorHandling.hh b/mex/sources/bytecode/ErrorHandling.hh
index c6ffd8194aa039e8ac80d44cf2a96a0d847772f5..30992aa5cf1f4573646dd6c933ae68da06a0a77f 100644
--- a/mex/sources/bytecode/ErrorHandling.hh
+++ b/mex/sources/bytecode/ErrorHandling.hh
@@ -172,7 +172,7 @@ public:
   double *y, *ya;
   int y_size;
   double *T;
-  int nb_row_xd, nb_row_x, col_x, col_y;
+  int nb_row_x, col_x, col_y;
   int y_kmin, y_kmax, periods;
   double *x, *params;
   double *u;
@@ -304,12 +304,14 @@ public:
           mexPrintf("=> Unknown endogenous variable # %d", variable_num);
         break;
       case SymbolType::exogenous:
-      case SymbolType::exogenousDet:
         if (variable_num < P_exo_names.size())
           return P_exo_names[variable_num];
         else
           mexPrintf("=> Unknown exogenous variable # %d", variable_num);
         break;
+      case SymbolType::exogenousDet:
+        mexErrMsgTxt("get_variable: exogenous deterministic not supported");
+        break;
       case SymbolType::parameter:
         if (variable_num < P_param_names.size())
           return P_param_names[variable_num];
@@ -523,16 +525,7 @@ public:
                   Stackf.push(x[it_+lag+var*nb_row_x]);
                 break;
               case SymbolType::exogenousDet:
-                var = static_cast<FLDV_ *>(it_code->second)->get_pos();
-                lag = static_cast<FLDV_ *>(it_code->second)->get_lead_lag();
-                tmp_out.str("");
-                if (lag != 0)
-                  tmp_out << get_variable(SymbolType::exogenousDet, var) << "(" << lag << ")";
-                else
-                  tmp_out << get_variable(SymbolType::exogenousDet, var);
-                Stack.push(tmp_out.str());
-                if (compute)
-                  Stackf.push(x[it_+lag+var*nb_row_xd]);
+                mexErrMsgTxt("FLDV: exogenous deterministic not supported");
                 break;
               case SymbolType::modelLocalVariable:
                 break;
@@ -574,10 +567,7 @@ public:
                   Stackf.push(x[var]);
                 break;
               case SymbolType::exogenousDet:
-                var = static_cast<FLDSV_ *>(it_code->second)->get_pos();
-                Stack.push(get_variable(SymbolType::exogenousDet, var));
-                if (compute)
-                  Stackf.push(x[var]);
+                mexErrMsgTxt("FLDSV: exogenous deterministic not supported");
                 break;
               case SymbolType::modelLocalVariable:
                 break;
@@ -702,21 +692,7 @@ public:
                   }
                 break;
               case SymbolType::exogenousDet:
-                var = static_cast<FSTPV_ *>(it_code->second)->get_pos();
-                lag = static_cast<FSTPV_ *>(it_code->second)->get_lead_lag();
-                tmp_out2.str("");
-                tmp_out2 << Stack.top();
-                tmp_out.str("");
-                tmp_out << get_variable(SymbolType::exogenousDet, var);
-                if (lag != 0)
-                  tmp_out << "(" << lag << ")";
-                tmp_out << " = " << tmp_out2.str();
-                Stack.pop();
-                if (compute)
-                  {
-                    x[it_+lag+var*nb_row_xd] = Stackf.top();
-                    Stackf.pop();
-                  }
+                mexErrMsgTxt("FSTPV: exogenous deterministic not supported");
                 break;
               default:
                 mexPrintf("FSTPV: Unknown variable type\n");
@@ -756,7 +732,6 @@ public:
                   }
                 break;
               case SymbolType::exogenous:
-              case SymbolType::exogenousDet:
                 var = static_cast<FSTPSV_ *>(it_code->second)->get_pos();
                 tmp_out2.str("");
                 tmp_out2 << Stack.top();
@@ -770,6 +745,9 @@ public:
                     Stackf.pop();
                   }
                 break;
+              case SymbolType::exogenousDet:
+                mexErrMsgTxt("FSTPSV: exogenous deterministic not supported");
+                break;
               default:
                 mexPrintf("FSTPSV: Unknown variable type\n");
               }
diff --git a/mex/sources/bytecode/Evaluate.cc b/mex/sources/bytecode/Evaluate.cc
index 9cb6afb8eb74ea0428be7cb32ac5b38fe12205f5..f6e45b5cfe9e3e250ebacadde37ee88c847b3f70 100644
--- a/mex/sources/bytecode/Evaluate.cc
+++ b/mex/sources/bytecode/Evaluate.cc
@@ -242,9 +242,7 @@ Evaluate::compute_block_time(int Per_u_, bool evaluate, bool no_derivative)
               Stack.push(x[it_+lag+var*nb_row_x]);
               break;
             case SymbolType::exogenousDet:
-              var = static_cast<FLDV_ *>(it_code->second)->get_pos();
-              lag = static_cast<FLDV_ *>(it_code->second)->get_lead_lag();
-              Stack.push(x[it_+lag+var*nb_row_xd]);
+              mexErrMsgTxt("FLDV: exogenous deterministic not supported");
               break;
             case SymbolType::modelLocalVariable:
 #ifdef DEBUG
@@ -288,11 +286,7 @@ Evaluate::compute_block_time(int Per_u_, bool evaluate, bool no_derivative)
               Stack.push(x[var]);
               break;
             case SymbolType::exogenousDet:
-              var = static_cast<FLDSV_ *>(it_code->second)->get_pos();
-#ifdef DEBUG
-              mexPrintf("FLDSV xd[var=%d]\n", var);
-#endif
-              Stack.push(x[var]);
+              mexErrMsgTxt("FLDSV: exogenous deterministic not supported");
               break;
             case SymbolType::modelLocalVariable:
 #ifdef DEBUG
@@ -330,11 +324,7 @@ Evaluate::compute_block_time(int Per_u_, bool evaluate, bool no_derivative)
               Stack.push(x[var]);
               break;
             case SymbolType::exogenousDet:
-              var = static_cast<FLDVS_ *>(it_code->second)->get_pos();
-#ifdef DEBUG
-              mexPrintf("FLDVS xd[%d]\n", var);
-#endif
-              Stack.push(x[var]);
+              mexErrMsgTxt("FLDVS: exogenous deterministic not supported");
               break;
             case SymbolType::modelLocalVariable:
 #ifdef DEBUG
@@ -450,15 +440,7 @@ Evaluate::compute_block_time(int Per_u_, bool evaluate, bool no_derivative)
               Stack.pop();
               break;
             case SymbolType::exogenousDet:
-              var = static_cast<FSTPV_ *>(it_code->second)->get_pos();
-              lag = static_cast<FSTPV_ *>(it_code->second)->get_lead_lag();
-              x[it_+lag+var*nb_row_xd] = Stack.top();
-#ifdef DEBUG
-              tmp_out << "=>";
-              mexPrintf(" x[%d, %d](%f)=%s\n", it_+lag, var, x[it_+lag+var*nb_row_xd], tmp_out.str().c_str());
-              tmp_out.str("");
-#endif
-              Stack.pop();
+              mexErrMsgTxt("FSTPV: exogenous deterministic not supported");
               break;
             default:
               mexPrintf("FSTPV: Unknown variable type\n");
@@ -484,7 +466,6 @@ Evaluate::compute_block_time(int Per_u_, bool evaluate, bool no_derivative)
               Stack.pop();
               break;
             case SymbolType::exogenous:
-            case SymbolType::exogenousDet:
               var = static_cast<FSTPSV_ *>(it_code->second)->get_pos();
               x[var] = Stack.top();
 #ifdef DEBUG
@@ -494,6 +475,9 @@ Evaluate::compute_block_time(int Per_u_, bool evaluate, bool no_derivative)
 #endif
               Stack.pop();
               break;
+            case SymbolType::exogenousDet:
+              mexErrMsgTxt("FSTPSV: exogenous deterministic not supported");
+              break;
             default:
               mexPrintf("FSTPSV: Unknown variable type\n");
             }
diff --git a/mex/sources/bytecode/Interpreter.cc b/mex/sources/bytecode/Interpreter.cc
index 2fb5128981f4bbfff019e6b62f873cd7d776bc2c..42f02873efb0767e65675c40aaa992e2b375f6d1 100644
--- a/mex/sources/bytecode/Interpreter.cc
+++ b/mex/sources/bytecode/Interpreter.cc
@@ -27,7 +27,7 @@ constexpr double BIG = 1.0e+8, SMALL = 1.0e-5;
 
 Interpreter::Interpreter(double *params_arg, double *y_arg, double *ya_arg, double *x_arg, double *steady_y_arg, double *steady_x_arg,
                          double *direction_arg, size_t y_size_arg,
-                         size_t nb_row_x_arg, size_t nb_row_xd_arg, int periods_arg, int y_kmin_arg, int y_kmax_arg,
+                         size_t nb_row_x_arg, int periods_arg, int y_kmin_arg, int y_kmax_arg,
                          int maxit_arg_, double solve_tolf_arg, size_t size_of_direction_arg, int y_decal_arg, double markowitz_c_arg,
                          string &filename_arg, int minimal_solving_periods_arg, int stack_solve_algo_arg, int solve_algo_arg,
                          bool global_temporary_terms_arg, bool print_arg, bool print_error_arg, mxArray *GlobalTemporaryTerms_arg,
@@ -42,7 +42,6 @@ Interpreter::Interpreter(double *params_arg, double *y_arg, double *ya_arg, doub
   steady_x = steady_x_arg;
   direction = direction_arg;
   nb_row_x = nb_row_x_arg;
-  nb_row_xd = nb_row_xd_arg;
   periods = periods_arg;
   maxit_ = maxit_arg_;
   solve_tolf = solve_tolf_arg;
diff --git a/mex/sources/bytecode/Interpreter.hh b/mex/sources/bytecode/Interpreter.hh
index 995e755a7ea90b47dab0fd0e7ec0d6bccf6209db..785285198052c8f947f924a3f4912f6d24489e8a 100644
--- a/mex/sources/bytecode/Interpreter.hh
+++ b/mex/sources/bytecode/Interpreter.hh
@@ -45,7 +45,7 @@ protected:
 public:
   Interpreter(double *params_arg, double *y_arg, double *ya_arg, double *x_arg, double *steady_y_arg, double *steady_x_arg,
               double *direction_arg, size_t y_size_arg,
-              size_t nb_row_x_arg, size_t nb_row_xd_arg, int periods_arg, int y_kmin_arg, int y_kmax_arg,
+              size_t nb_row_x_arg, int periods_arg, int y_kmin_arg, int y_kmax_arg,
               int maxit_arg_, double solve_tolf_arg, size_t size_of_direction_arg, int y_decal_arg, double markowitz_c_arg,
               string &filename_arg, int minimal_solving_periods_arg, int stack_solve_algo_arg, int solve_algo_arg,
               bool global_temporary_terms_arg, bool print_arg, bool print_error_arg, mxArray *GlobalTemporaryTerms_arg,
diff --git a/mex/sources/bytecode/bytecode.cc b/mex/sources/bytecode/bytecode.cc
index 0119f0ae77c95aa7bb824670c864aeb77fdcfb32..0c1ff91daa06181a09dd2e126fce1bba1c1b714c 100644
--- a/mex/sources/bytecode/bytecode.cc
+++ b/mex/sources/bytecode/bytecode.cc
@@ -199,7 +199,7 @@ mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
   mxArray *block_structur = nullptr;
   mxArray *pfplan_struct = nullptr;
   ErrorMsg error_msg;
-  size_t i, row_y = 0, col_y = 0, row_x = 0, col_x = 0, nb_row_xd = 0;
+  size_t i, row_y = 0, col_y = 0, row_x = 0, col_x = 0;
   size_t steady_row_y, steady_col_y;
   int y_kmin = 0, y_kmax = 0, y_decal = 0;
   unsigned int periods = 1;
@@ -419,10 +419,10 @@ mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
               splan[i].var = name;
               SymbolType variable_type = SymbolType::endogenous;
               int exo_num = emsg.get_ID(name, &variable_type);
-              if (variable_type == SymbolType::exogenous || variable_type == SymbolType::exogenousDet)
+              if (variable_type == SymbolType::exogenous)
                 splan[i].var_num = exo_num;
               else
-                mexErrMsgTxt(("The variable '"s + name + "'  defined as var in plan is not an exogenous or a deterministic exogenous\n").c_str());
+                mexErrMsgTxt(("The variable '"s + name + "'  defined as var in plan is not an exogenous\n").c_str());
             }
           tmp = mxGetField(plan_struct, i, "var");
           if (tmp)
@@ -481,10 +481,10 @@ mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
               spfplan[i].var = name;
               SymbolType variable_type = SymbolType::endogenous;
               int exo_num = emsg.get_ID(name, &variable_type);
-              if (variable_type == SymbolType::exogenous || variable_type == SymbolType::exogenousDet)
+              if (variable_type == SymbolType::exogenous)
                 splan[i].var_num = exo_num;
               else
-                mexErrMsgTxt(("The variable '"s + name + "' defined as var in pfplan is not an exogenous or a deterministic exogenous\n").c_str());
+                mexErrMsgTxt(("The variable '"s + name + "' defined as var in pfplan is not an exogenous\n").c_str());
             }
           tmp = mxGetField(pfplan_struct, i, "exo");
           if (tmp)
@@ -551,7 +551,6 @@ mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
           xd = mxGetPr(exo_sim_arr);
           row_x = mxGetM(exo_sim_arr);
           col_x = mxGetN(exo_sim_arr);
-          nb_row_xd = row_x;
         }
       int field = mxGetFieldNumber(M_, "maximum_lag");
       if (field >= 0)
@@ -600,7 +599,6 @@ mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
           xd = mxGetPr(exo_steady_state_arr);
           row_x = mxGetM(exo_steady_state_arr);
           col_x = mxGetN(exo_steady_state_arr);
-          nb_row_xd = row_x;
         }
     }
   int field = mxGetFieldNumber(options_, "verbosity");
@@ -718,7 +716,7 @@ mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
   size_t nb_row_x = row_x;
 
   clock_t t0 = clock();
-  Interpreter interprete(params, y, ya, x, steady_yd, steady_xd, direction, y_size, nb_row_x, nb_row_xd, periods, y_kmin, y_kmax, maxit_, solve_tolf, size_of_direction, y_decal,
+  Interpreter interprete(params, y, ya, x, steady_yd, steady_xd, direction, y_size, nb_row_x, periods, y_kmin, y_kmax, maxit_, solve_tolf, size_of_direction, y_decal,
                          markowitz_c, file_name, minimal_solving_periods, stack_solve_algo, solve_algo, global_temporary_terms, print, print_error, GlobalTemporaryTerms, steady_state,
                          print_it, col_x, col_y);
   string f(fname);
diff --git a/tests/block_bytecode/example1_varexo_det_bytecode.mod b/tests/block_bytecode/example1_varexo_det_bytecode.mod
index 7bad4480c298960e0e95a8b07bb6e5a1d3ce8568..5f4ab1c0c89c8d6d02c1ec0b0cb3e595379b6725 100644
--- a/tests/block_bytecode/example1_varexo_det_bytecode.mod
+++ b/tests/block_bytecode/example1_varexo_det_bytecode.mod
@@ -1,4 +1,4 @@
-// Test for varexo_det and forecast command at order 1
+// Test for varexo_det and forecast command at order 1 with bytecode
 
 var y, c, k, a, h, b;
 varexo e,u;
@@ -16,8 +16,7 @@ theta = 2.95;
 
 phi   = 0.1;
 
-//model(bytecode);
-model;
+model(bytecode);
 c*theta*h^(1+psi)=(1-alpha)*y;
 k = beta*(((exp(b)*c)/(exp(b(+1))*c(+1)))
     *(exp(b(+1))*alpha*y(+1)+(1-delta)*k));
@@ -40,7 +39,6 @@ ahat = 0;
 bhat = 0;
 end;
 
-//simul(periods=20);
 shocks;
 var e; stderr 0.009;
 var u; stderr 0.009;