diff --git a/src/DynamicModel.cc b/src/DynamicModel.cc
index 20bbde1ea934e722a4818043a5c17bbf36bd4cfb..9369fc6bf9cc7f55410c99edb2e6941e0565083c 100644
--- a/src/DynamicModel.cc
+++ b/src/DynamicModel.cc
@@ -88,7 +88,6 @@ DynamicModel::DynamicModel(const DynamicModel &m) :
   block_exo_index{m.block_exo_index},
   block_det_exo_index{m.block_det_exo_index},
   block_other_endo_index{m.block_other_endo_index},
-  variable_block_lead_lag{m.variable_block_lead_lag},
   var_expectation_functions_to_write{m.var_expectation_functions_to_write}
 {
   copyHelper(m);
@@ -141,7 +140,6 @@ DynamicModel::operator=(const DynamicModel &m)
   block_exo_index = m.block_exo_index;
   block_det_exo_index = m.block_det_exo_index;
   block_other_endo_index = m.block_other_endo_index;
-  variable_block_lead_lag = m.variable_block_lead_lag;
   var_expectation_functions_to_write = m.var_expectation_functions_to_write;
 
   copyHelper(m);
@@ -4812,7 +4810,7 @@ DynamicModel::computingPass(bool jacobianExo, int derivsOrder, int paramsDerivsO
 
       cout << "Finding the optimal block decomposition of the model ..." << endl;
 
-      auto variable_lag_lead = computeBlockDecompositionAndFeedbackVariablesForEachBlock();
+      computeBlockDecompositionAndFeedbackVariablesForEachBlock();
 
       reduceBlocksAndTypeDetermination(linear_decomposition);
 
@@ -4829,18 +4827,6 @@ DynamicModel::computingPass(bool jacobianExo, int derivsOrder, int paramsDerivsO
       global_temporary_terms = true;
       if (!no_tmp_terms)
         computeTemporaryTermsOrdered();
-      int k = 0;
-      variable_block_lead_lag.clear();
-      variable_block_lead_lag.resize(equations.size());
-      for (int i = 0; i < static_cast<int>(blocks.size()); i++)
-        {
-          for (int j = 0; j < blocks[i].size; j++)
-            {
-              int l = endo_idx_block2orig[k];
-              variable_block_lead_lag[l] = { i, variable_lag_lead[l].first, variable_lag_lead[l].second };
-              k++;
-            }
-        }
     }
   else
     {
diff --git a/src/DynamicModel.hh b/src/DynamicModel.hh
index 9cd29c13b4b492960c56c3cece07ee49d3d8fb6e..4f3d419ed432e6890077eb1776b99167289ab462 100644
--- a/src/DynamicModel.hh
+++ b/src/DynamicModel.hh
@@ -203,11 +203,6 @@ private:
   //! Write reverse cross references
   void writeRevXrefs(ostream &output, const map<pair<int, int>, set<int>> &xrefmap, const string &type) const;
 
-  //! List for each variable its block number and its maximum lag and lead inside the block
-  vector<tuple<int, int, int>> variable_block_lead_lag;
-  //! List for each equation its block number
-  vector<int> equation_block;
-
   //! Used for var_expectation and var_model
   map<string, set<int>> var_expectation_functions_to_write;
 
diff --git a/src/ModelTree.cc b/src/ModelTree.cc
index 3b45efa28dc162494a29e3b0f96c82af1faf8fb8..207c9d99218565daacb254d630bf5fb060e7b994 100644
--- a/src/ModelTree.cc
+++ b/src/ModelTree.cc
@@ -647,7 +647,7 @@ ModelTree::getVariableLeadLagByBlock() const
   return { equation_lag_lead, variable_lag_lead };
 }
 
-lag_lead_vector_t
+void
 ModelTree::computeBlockDecompositionAndFeedbackVariablesForEachBlock()
 {
   int nb_var = symbol_table.endo_nbr();
@@ -783,8 +783,6 @@ ModelTree::computeBlockDecompositionAndFeedbackVariablesForEachBlock()
     }
 
   updateReverseVariableEquationOrderings();
-
-  return variable_lag_lead;
 }
 
 void
diff --git a/src/ModelTree.hh b/src/ModelTree.hh
index d7a2adb91e1941b3b6a64654588435b563f128dd..87acc746e384590492306d945934c826851fd7d8 100644
--- a/src/ModelTree.hh
+++ b/src/ModelTree.hh
@@ -304,7 +304,7 @@ protected:
      Initializes the “blocks” structure, and fills the following fields: size,
      mfs_size, n_static, n_forward, n_backward, n_mixed.
      Also initializes the endo2block and eq2block structures. */
-  lag_lead_vector_t computeBlockDecompositionAndFeedbackVariablesForEachBlock();
+  void computeBlockDecompositionAndFeedbackVariablesForEachBlock();
   /* Reduce the number of block by merging the same type of equations in the
      prologue and the epilogue, and determine the type of each block.
 
diff --git a/src/StaticModel.cc b/src/StaticModel.cc
index e7c84cad8c3c8dde43f37de6aafcb7ae053d9b5b..6df1a0c51628bac84db03930fe4a16cd11b42cd9 100644
--- a/src/StaticModel.cc
+++ b/src/StaticModel.cc
@@ -1133,7 +1133,7 @@ StaticModel::computingPass(int derivsOrder, int paramsDerivsOrder, const eval_co
 
       cout << "Finding the optimal block decomposition of the model ..." << endl;
 
-      auto variable_lag_lead = computeBlockDecompositionAndFeedbackVariablesForEachBlock();
+      computeBlockDecompositionAndFeedbackVariablesForEachBlock();
 
       reduceBlocksAndTypeDetermination(false);
 
diff --git a/src/StaticModel.hh b/src/StaticModel.hh
index 1a93f313b70f9699bc81fb06011448b9324c8ba5..6a49dcd1c8ea85db5cce17f7edad5a9871dd5aed 100644
--- a/src/StaticModel.hh
+++ b/src/StaticModel.hh
@@ -96,10 +96,6 @@ private:
   //! Indicate if the temporary terms are computed for the overall model (true) or not (false). Default value true
   bool global_temporary_terms{true};
 
-  //!List for each block and for each lag-leag all the other endogenous variables and exogenous variables
-  using var_t = set<int>;
-  using lag_var_t = map<int, var_t>;
-
   //! Helper functions for writeStaticModel
   void writeStaticModelHelper(const string &basename,
                               const string &name, const string &retvalname,