diff --git a/src/ComputingTasks.cc b/src/ComputingTasks.cc
index f9fb98abfc9d91b04f8e81d31578d9f9c2f87ef6..ba134fa876ab801c023ed9af0bef71e1783da6e7 100644
--- a/src/ComputingTasks.cc
+++ b/src/ComputingTasks.cc
@@ -2442,7 +2442,7 @@ PlannerObjectiveStatement::getPlannerObjective() const
 void
 PlannerObjectiveStatement::computingPass(const ModFileStructure &mod_file_struct)
 {
-  model_tree.computingPass(max(3, mod_file_struct.order_option), 0, {}, false, false);
+  model_tree.computingPass(max(3, mod_file_struct.order_option), 0, {}, false, false, false);
   computing_pass_called = true;
 }
 
diff --git a/src/ModFile.cc b/src/ModFile.cc
index 17ef006ce20d0df17d24a57c935402f484906628..1e3c38b9699f863c171cfdb3789eece539924201 100644
--- a/src/ModFile.cc
+++ b/src/ModFile.cc
@@ -672,7 +672,7 @@ ModFile::computingPass(bool no_tmp_terms, OutputType output, int params_derivs_o
               || (mod_file_struct.GMM_present && (mod_file_struct.analytic_standard_errors_present || mod_file_struct.analytic_jacobian_present)))
             paramsDerivsOrder = params_derivs_order;
 
-          static_model.computingPass(derivsOrder, paramsDerivsOrder, global_eval_context, no_tmp_terms, block);
+          static_model.computingPass(derivsOrder, paramsDerivsOrder, global_eval_context, no_tmp_terms, block, use_dll);
         }
       // Set things to compute for dynamic model
       if (mod_file_struct.perfect_foresight_solver_present
diff --git a/src/StaticModel.cc b/src/StaticModel.cc
index 44b32806b0459d6ca075079cc8dbb58a0479ae60..c1fc35306da1890c887ee8af1bca362e732bbb40 100644
--- a/src/StaticModel.cc
+++ b/src/StaticModel.cc
@@ -170,7 +170,7 @@ StaticModel::writeStaticBlockBytecode(const string &basename) const
 }
 
 void
-StaticModel::computingPass(int derivsOrder, int paramsDerivsOrder, const eval_context_t &eval_context, bool no_tmp_terms, bool block)
+StaticModel::computingPass(int derivsOrder, int paramsDerivsOrder, const eval_context_t &eval_context, bool no_tmp_terms, bool block, bool use_dll)
 {
   initializeVariablesAndEquations();
 
@@ -222,7 +222,7 @@ StaticModel::computingPass(int derivsOrder, int paramsDerivsOrder, const eval_co
       computeParamsDerivatives(paramsDerivsOrder);
     }
 
-  computeTemporaryTerms(true, no_tmp_terms);
+  computeTemporaryTerms(!use_dll, no_tmp_terms);
 
   if (paramsDerivsOrder > 0 && !no_tmp_terms)
     computeParamsDerivativesTemporaryTerms();
diff --git a/src/StaticModel.hh b/src/StaticModel.hh
index 6971f12ae8e6d293037b506666c6ab57552aa030..771013046e7e8912981681f469c1350cf0ab891d 100644
--- a/src/StaticModel.hh
+++ b/src/StaticModel.hh
@@ -122,7 +122,7 @@ public:
     \param derivsOrder order of derivation with respect to endogenous
     \param paramsDerivsOrder order of derivatives w.r. to a pair (endogenous, parameter) to be computed
   */
-  void computingPass(int derivsOrder, int paramsDerivsOrder, const eval_context_t &eval_context, bool no_tmp_terms, bool block);
+  void computingPass(int derivsOrder, int paramsDerivsOrder, const eval_context_t &eval_context, bool no_tmp_terms, bool block, bool use_dll);
 
   //! Writes static model file (+ bytecode)
   void writeStaticFile(const string &basename, bool use_dll, const string &mexext, const filesystem::path &matlabroot, bool julia) const;