diff --git a/src/ComputingTasks.cc b/src/ComputingTasks.cc
index 561bd2f757545330c606212fa4576a53c92f922a..40d3c002472746de279f076b64e0077e0404088e 100644
--- a/src/ComputingTasks.cc
+++ b/src/ComputingTasks.cc
@@ -2061,11 +2061,8 @@ ModelComparisonStatement::writeJsonOutput(ostream &output) const
 
 PlannerObjectiveStatement::PlannerObjectiveStatement(SymbolTable &symbol_table,
                                                      NumericalConstants &num_constants,
-                                                     ExternalFunctionsTable &external_functions_table,
-                                                     TrendComponentModelTable &trend_component_model_table_arg,
-                                                     VarModelTable &var_model_table_arg) :
-  model_tree{symbol_table, num_constants, external_functions_table,
-             trend_component_model_table_arg, var_model_table_arg}
+                                                     ExternalFunctionsTable &external_functions_table) :
+  model_tree{symbol_table, num_constants, external_functions_table}
 {
 }
 
diff --git a/src/ComputingTasks.hh b/src/ComputingTasks.hh
index be6c5d1a6e3674e9e12defa3be8aa79742a18264..4985c2b79310555e7bacb45da7b9ab0f0282395a 100644
--- a/src/ComputingTasks.hh
+++ b/src/ComputingTasks.hh
@@ -510,9 +510,7 @@ private:
 public:
   PlannerObjectiveStatement(SymbolTable &symbol_table,
                             NumericalConstants &num_constants,
-                            ExternalFunctionsTable &external_functions_table,
-                            TrendComponentModelTable &trend_component_model_table_arg,
-                            VarModelTable &var_model_table_arg);
+                            ExternalFunctionsTable &external_functions_table);
   /*! \todo check there are only endogenous variables at the current period in the objective
     (no exogenous, no lead/lag) */
   void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings) override;
diff --git a/src/DataTree.cc b/src/DataTree.cc
index 736e49e848c937f376f94da727a478a215a71678..cdab07024754cb5feccf1106c01e9f19450c2696 100644
--- a/src/DataTree.cc
+++ b/src/DataTree.cc
@@ -28,14 +28,10 @@
 
 DataTree::DataTree(SymbolTable &symbol_table_arg,
                    NumericalConstants &num_constants_arg,
-                   ExternalFunctionsTable &external_functions_table_arg,
-                   TrendComponentModelTable &trend_component_model_table_arg,
-                   VarModelTable &var_model_table_arg) :
+                   ExternalFunctionsTable &external_functions_table_arg) :
   symbol_table(symbol_table_arg),
   num_constants(num_constants_arg),
-  external_functions_table(external_functions_table_arg),
-  trend_component_model_table(trend_component_model_table_arg),
-  var_model_table(var_model_table_arg)
+  external_functions_table(external_functions_table_arg)
 {
   Zero = AddNonNegativeConstant("0");
   One = AddNonNegativeConstant("1");
diff --git a/src/DataTree.hh b/src/DataTree.hh
index 623641c1a321ea75df1126115abc314e8372cf33..f32ec26f63fa38103e57870d209780567fbdf4eb 100644
--- a/src/DataTree.hh
+++ b/src/DataTree.hh
@@ -45,10 +45,6 @@ public:
   NumericalConstants &num_constants;
   //! A reference to the external functions table
   ExternalFunctionsTable &external_functions_table;
-  //! A reference to the trend component model table
-  TrendComponentModelTable &trend_component_model_table;
-  //! A reference to the VAR model table
-  VarModelTable &var_model_table;
 
 protected:
   //! num_constant_id -> NumConstNode
@@ -122,9 +118,8 @@ private:
 public:
   DataTree(SymbolTable &symbol_table_arg,
            NumericalConstants &num_constants_arg,
-           ExternalFunctionsTable &external_functions_table_arg,
-           TrendComponentModelTable &trend_component_model_table_arg,
-           VarModelTable &var_model_table_arg);
+           ExternalFunctionsTable &external_functions_table_arg);
+
   virtual
   ~DataTree();
 
diff --git a/src/DynamicModel.cc b/src/DynamicModel.cc
index 8d77e5efad9409533403d9e90f4e26c373138c38..cf7523a2d7cb3f98c543e9a7ad53d515587d949c 100644
--- a/src/DynamicModel.cc
+++ b/src/DynamicModel.cc
@@ -36,8 +36,9 @@ DynamicModel::DynamicModel(SymbolTable &symbol_table_arg,
                            ExternalFunctionsTable &external_functions_table_arg,
                            TrendComponentModelTable &trend_component_model_table_arg,
                            VarModelTable &var_model_table_arg) :
-  ModelTree(symbol_table_arg, num_constants_arg, external_functions_table_arg,
-            trend_component_model_table_arg, var_model_table_arg),
+  ModelTree(symbol_table_arg, num_constants_arg, external_functions_table_arg),
+  trend_component_model_table(trend_component_model_table_arg),
+  var_model_table(var_model_table_arg),
   max_lag(0), max_lead(0),
   max_endo_lag(0), max_endo_lead(0),
   max_exo_lag(0), max_exo_lead(0),
diff --git a/src/DynamicModel.hh b/src/DynamicModel.hh
index 5f5c67fe6c12bcfc4afb82370f4a8460d9fb379e..d6e4bc01075a258dd35ad68ae73c353c9416f4d5 100644
--- a/src/DynamicModel.hh
+++ b/src/DynamicModel.hh
@@ -30,6 +30,11 @@ using namespace std;
 //! Stores a dynamic model
 class DynamicModel : public ModelTree
 {
+public:
+  //! A reference to the trend component model table
+  TrendComponentModelTable &trend_component_model_table;
+  //! A reference to the VAR model table
+  VarModelTable &var_model_table;
 private:
   constexpr static double zero_band{1e-8};
 
diff --git a/src/ModFile.cc b/src/ModFile.cc
index 2aacae8d784ed61609e8599b71846c19a8ca6c81..47246a9a7fb18197e12712d08d992aa5767e015c 100644
--- a/src/ModFile.cc
+++ b/src/ModFile.cc
@@ -32,8 +32,7 @@
 ModFile::ModFile(WarningConsolidation &warnings_arg)
   : var_model_table(symbol_table),
     trend_component_model_table(symbol_table),
-    expressions_tree(symbol_table, num_constants, external_functions_table,
-                     trend_component_model_table, var_model_table),
+    expressions_tree(symbol_table, num_constants, external_functions_table),
     original_model(symbol_table, num_constants, external_functions_table,
                    trend_component_model_table, var_model_table),
     dynamic_model(symbol_table, num_constants, external_functions_table,
@@ -46,12 +45,9 @@ ModFile::ModFile(WarningConsolidation &warnings_arg)
                               trend_component_model_table, var_model_table),
     epilogue(symbol_table, num_constants, external_functions_table,
              trend_component_model_table, var_model_table),
-    static_model(symbol_table, num_constants, external_functions_table,
-                 trend_component_model_table, var_model_table),
-    steady_state_model(symbol_table, num_constants, external_functions_table,
-                       trend_component_model_table, var_model_table, static_model),
-    diff_static_model(symbol_table, num_constants, external_functions_table,
-                      trend_component_model_table, var_model_table),
+    static_model(symbol_table, num_constants, external_functions_table),
+    steady_state_model(symbol_table, num_constants, external_functions_table, static_model),
+    diff_static_model(symbol_table, num_constants, external_functions_table),
     linear(false), block(false), byte_code(false), use_dll(false), no_static(false),
     differentiate_forward_vars(false), nonstationary_variables(false),
     param_used_with_lead_lag(false), warnings(warnings_arg)
diff --git a/src/ModelEquationBlock.cc b/src/ModelEquationBlock.cc
index 59f5170f3274741638f9c62eada60cfe8eb58af3..34ea65fbeaaf90bf55c5fd5ecd525abf7552fa11 100644
--- a/src/ModelEquationBlock.cc
+++ b/src/ModelEquationBlock.cc
@@ -25,11 +25,8 @@
 SteadyStateModel::SteadyStateModel(SymbolTable &symbol_table_arg,
                                    NumericalConstants &num_constants_arg,
                                    ExternalFunctionsTable &external_functions_table_arg,
-                                   TrendComponentModelTable &trend_component_model_table_arg,
-                                   VarModelTable &var_model_table_arg,
                                    const StaticModel &static_model_arg) :
-  DataTree(symbol_table_arg, num_constants_arg, external_functions_table_arg,
-           trend_component_model_table_arg, var_model_table_arg),
+  DataTree(symbol_table_arg, num_constants_arg, external_functions_table_arg),
   static_model(static_model_arg)
 {
 }
diff --git a/src/ModelEquationBlock.hh b/src/ModelEquationBlock.hh
index 5ad8ed0dad3bd39310184ca294f02c56fa4a1794..199e4bdb44685f58c370d2abeeb803be4166a5e8 100644
--- a/src/ModelEquationBlock.hh
+++ b/src/ModelEquationBlock.hh
@@ -39,8 +39,6 @@ public:
   SteadyStateModel(SymbolTable &symbol_table_arg,
                    NumericalConstants &num_constants_arg,
                    ExternalFunctionsTable &external_functions_table_arg,
-                   TrendComponentModelTable &trend_component_model_table_arg,
-                   VarModelTable &var_model_table_arg,
                    const StaticModel &static_model_arg);
   //! Add an expression of the form "var = expr;"
   void addDefinition(int symb_id, expr_t expr);
diff --git a/src/ModelTree.cc b/src/ModelTree.cc
index e9916de6cbd900c230ea1cc9dbfffc3900f3a12c..3cc8d6bb8828ad07d78d0c061f53256ca1c8cce3 100644
--- a/src/ModelTree.cc
+++ b/src/ModelTree.cc
@@ -1003,11 +1003,8 @@ ModelTree::BlockLinear(const blocks_derivatives_t &blocks_derivatives, const vec
 
 ModelTree::ModelTree(SymbolTable &symbol_table_arg,
                      NumericalConstants &num_constants_arg,
-                     ExternalFunctionsTable &external_functions_table_arg,
-                     TrendComponentModelTable &trend_component_model_table_arg,
-                     VarModelTable &var_model_table_arg) :
-  DataTree(symbol_table_arg, num_constants_arg, external_functions_table_arg,
-           trend_component_model_table_arg, var_model_table_arg),
+                     ExternalFunctionsTable &external_functions_table_arg) :
+  DataTree(symbol_table_arg, num_constants_arg, external_functions_table_arg),
   cutoff(1e-15),
   mfs(0)
 
diff --git a/src/ModelTree.hh b/src/ModelTree.hh
index 97594d661e45169bc9a40bfcab308ec6be488751..1ec338316887adcb691b1360ba1c9595042ca98f 100644
--- a/src/ModelTree.hh
+++ b/src/ModelTree.hh
@@ -323,9 +323,7 @@ protected:
 public:
   ModelTree(SymbolTable &symbol_table_arg,
             NumericalConstants &num_constants_arg,
-            ExternalFunctionsTable &external_functions_table_arg,
-            TrendComponentModelTable &trend_component_model_table_arg,
-            VarModelTable &var_model_table_arg);
+            ExternalFunctionsTable &external_functions_table_arg);
   //! Absolute value under which a number is considered to be zero
   double cutoff;
   //! Compute the minimum feedback set
diff --git a/src/ParsingDriver.cc b/src/ParsingDriver.cc
index dcad3c39235d2084f5c711d1d5a72449fb281a4c..c6046e4bee11ede8f0ffc8eddbd169e83a104744 100644
--- a/src/ParsingDriver.cc
+++ b/src/ParsingDriver.cc
@@ -2136,9 +2136,7 @@ ParsingDriver::begin_planner_objective()
 {
   planner_objective_statement = make_unique<PlannerObjectiveStatement>(mod_file->symbol_table,
                                                                        mod_file->num_constants,
-                                                                       mod_file->external_functions_table,
-                                                                       mod_file->trend_component_model_table,
-                                                                       mod_file->var_model_table);
+                                                                       mod_file->external_functions_table);
   set_current_data_tree(&planner_objective_statement->getPlannerObjective());
 }
 
diff --git a/src/StaticModel.cc b/src/StaticModel.cc
index c46f193f58310adc4578b7f2996371d5e3f322b1..4b339a5d4567661fa0ff8ab19017fafa3deaf445 100644
--- a/src/StaticModel.cc
+++ b/src/StaticModel.cc
@@ -31,11 +31,8 @@
 
 StaticModel::StaticModel(SymbolTable &symbol_table_arg,
                          NumericalConstants &num_constants_arg,
-                         ExternalFunctionsTable &external_functions_table_arg,
-                         TrendComponentModelTable &trend_component_model_table_arg,
-                         VarModelTable &var_model_table_arg) :
-  ModelTree(symbol_table_arg, num_constants_arg, external_functions_table_arg,
-            trend_component_model_table_arg, var_model_table_arg),
+                         ExternalFunctionsTable &external_functions_table_arg) :
+  ModelTree(symbol_table_arg, num_constants_arg, external_functions_table_arg),
   global_temporary_terms(true)
 {
 }
diff --git a/src/StaticModel.hh b/src/StaticModel.hh
index 341b36e53e7d81991676cc27d87d675a11008e8c..e29d4b0373993526629349d07019ab18755b6a62 100644
--- a/src/StaticModel.hh
+++ b/src/StaticModel.hh
@@ -162,9 +162,7 @@ protected:
 public:
   StaticModel(SymbolTable &symbol_table_arg,
               NumericalConstants &num_constants,
-              ExternalFunctionsTable &external_functions_table_arg,
-              TrendComponentModelTable &trend_component_model_table_arg,
-              VarModelTable &var_model_table_arg);
+              ExternalFunctionsTable &external_functions_table_arg);
 
   //! Writes information on block decomposition when relevant
   void writeOutput(ostream &output, bool block) const;