diff --git a/preprocessor/DynamicModel.cc b/preprocessor/DynamicModel.cc
index 896fa47cbf6eed2f076c8764f4800c3a27c13d25..186dbbd0cff33da44f90a0d3f0920f35668e54ec 100644
--- a/preprocessor/DynamicModel.cc
+++ b/preprocessor/DynamicModel.cc
@@ -2683,6 +2683,8 @@ DynamicModel::computingPass(bool jacobianExo, bool hessian, bool thirdDerivative
 {
   assert(jacobianExo || !(hessian || thirdDerivatives || paramsDerivatives));
 
+  initializeVariablesAndEquations();
+  
   // Prepare for derivation
   computeDerivIDs();
 
diff --git a/preprocessor/ModFile.cc b/preprocessor/ModFile.cc
index 33c964ca077d2add2b682f793e3c71c2083d5773..e21e46e217377e03b5af3f58a79cc394cdb783b1 100644
--- a/preprocessor/ModFile.cc
+++ b/preprocessor/ModFile.cc
@@ -358,7 +358,6 @@ ModFile::computingPass(bool no_tmp_terms)
       dynamic_model.toStatic(static_model);
       if (!no_static)
         {
-          static_model.initializeVariablesAndEquations();
           if (mod_file_struct.stoch_simul_present
               || mod_file_struct.estimation_present || mod_file_struct.osr_present
               || mod_file_struct.ramsey_policy_present || mod_file_struct.identification_present)
@@ -371,7 +370,6 @@ ModFile::computingPass(bool no_tmp_terms)
           || mod_file_struct.estimation_present || mod_file_struct.osr_present
           || mod_file_struct.ramsey_policy_present || mod_file_struct.identification_present)
         {
-          dynamic_model.initializeVariablesAndEquations();
           if (mod_file_struct.simul_present)
             dynamic_model.computingPass(true, false, false, false, global_eval_context, no_tmp_terms, block, use_dll, byte_code);
           else
diff --git a/preprocessor/StaticModel.cc b/preprocessor/StaticModel.cc
index 2488a3cdd978400d3ec94fa8c07cf3361d71be48..b6fcb571a38130b903a61324ccf869edb00e2054 100644
--- a/preprocessor/StaticModel.cc
+++ b/preprocessor/StaticModel.cc
@@ -1065,6 +1065,8 @@ StaticModel::collect_first_order_derivatives_endogenous()
 void
 StaticModel::computingPass(const eval_context_t &eval_context, bool no_tmp_terms, bool hessian, bool block, bool bytecode)
 {
+  initializeVariablesAndEquations();
+
   // Compute derivatives w.r. to all endogenous, and possibly exogenous and exogenous deterministic
   set<int> vars;