diff --git a/mex/sources/bytecode/bytecode.cc b/mex/sources/bytecode/bytecode.cc
index daab14ccb06ccf1b4fa857ea412757e5ad63b379..08942f165e4db0282117bfd576f1be92b522d2d6 100644
--- a/mex/sources/bytecode/bytecode.cc
+++ b/mex/sources/bytecode/bytecode.cc
@@ -317,8 +317,8 @@ mexFunction(int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[])
       vector_table_conditional_local_type vv3 = table_conditional_global[0];
       for (int i = 0; i < nb_constrained; i++)
         {
-          sconditional_extended_path[i].exo_num = ceil(constrained_var_value[i]);
-          sconditional_extended_path[i].var_num = ceil(controlled_varexo_value[i]);
+          sconditional_extended_path[i].exo_num = ceil(constrained_var_value[i]) - 1;
+          sconditional_extended_path[i].var_num = ceil(controlled_varexo_value[i]) - 1;
           mxArray* Array_constrained_paths_ = mxGetCell(constrained_paths_, i);
           double* specific_constrained_paths_ = mxGetPr(Array_constrained_paths_);
           double* specific_constrained_int_date_ = mxGetPr(mxGetCell(constrained_int_date_, i));
@@ -341,11 +341,11 @@ mexFunction(int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[])
             {
               constrained_int_date[j] = static_cast<int>(specific_constrained_int_date_[j]) - 1;
               conditional_local.is_cond = true;
-              conditional_local.var_exo = sconditional_extended_path[i].var_num - 1;
-              conditional_local.var_endo = sconditional_extended_path[i].exo_num - 1;
+              conditional_local.var_exo = sconditional_extended_path[i].var_num;
+              conditional_local.var_endo = sconditional_extended_path[i].exo_num;
               conditional_local.constrained_value = specific_constrained_paths_[j];
               table_conditional_global[constrained_int_date[j]]
-                                      [sconditional_extended_path[i].exo_num - 1]
+                                      [sconditional_extended_path[i].exo_num]
                   = conditional_local;
               sconditional_extended_path[i].per_value[j]
                   = {constrained_int_date[j], specific_constrained_paths_[j]};