diff --git a/src/DynamicModel.cc b/src/DynamicModel.cc
index 65e55d013f1f492085fd00e70656cb478c43bac9..5ee7bccfa0a8913c35e684cbb9f4a080db4119ae 100644
--- a/src/DynamicModel.cc
+++ b/src/DynamicModel.cc
@@ -3555,6 +3555,22 @@ DynamicModel::getUndiffLHSForPac(vector<int> &lhs, vector<expr_t> &lhs_expr_t, v
     }
 }
 
+int
+DynamicModel::getUndiffMaxLag(StaticModel &static_model, vector<expr_t> &lhs, vector<int> &eqnumber) const
+{
+  set<expr_t> lhs_static;
+  for(vector<expr_t>::const_iterator it = lhs.begin();
+      it != lhs.end(); it++)
+    lhs_static.insert((*it)->toStatic(static_model));
+
+  int max_lag = 0;
+  for (vector<int>::const_iterator it = eqnumber.begin();
+       it != eqnumber.end(); it++)
+    equations[*it]->get_arg2()->VarMaxLag(static_model, lhs_static, max_lag);
+
+  return max_lag;
+}
+
 void
 DynamicModel::walkPacParameters()
 {
diff --git a/src/DynamicModel.hh b/src/DynamicModel.hh
index 1b48848874c5de52b640b6bd5ef1d39222c4dd38..726a45a33295dea0e7e29d7d7003f53bd0212d06 100644
--- a/src/DynamicModel.hh
+++ b/src/DynamicModel.hh
@@ -316,6 +316,8 @@ public:
                                  int max_lag,
                                  vector<bool> &nonstationary,
                                  int growth_symb_id);
+  //! Get the max lag for the PAC VAR
+  int getUndiffMaxLag(StaticModel &static_model, vector<expr_t> &lhs, vector<int> &eqnumber) const;
 
   //! Substitutes pac_expectation operator
   void substitutePacExpectation();
diff --git a/src/ModFile.cc b/src/ModFile.cc
index e87373b4d34e978f4228f2f341eb1e85c5291fe0..540a59a4e671be2cb532eb29fb9ec896f75fe291 100644
--- a/src/ModFile.cc
+++ b/src/ModFile.cc
@@ -427,6 +427,7 @@ ModFile::transformPass(bool nostrict, bool stochastic, bool compute_xrefs, const
                    vector<int> orig_diff_var = var_model_info_pac_expectation[var_model_name].first.second.second;
                    vector<int> eqnumber = var_model_info_pac_expectation[var_model_name].second.second;
                    dynamic_model.getUndiffLHSForPac(lhs, lhs_expr_t, diff, orig_diff_var, eqnumber, undiff, diff_subst_table);
+                   max_lag = original_model.getUndiffMaxLag(diff_static_model, lhs_expr_t, eqnumber);
                  }
                pms->fillUndiffedLHS(lhs);
                dynamic_model.walkPacParameters();