diff --git a/src/DynamicModel.cc b/src/DynamicModel.cc
index 90a1d1f6db6d25b22070673457cc88ec69a5ffb8..d975801efb6f6a5e3debb8f10a7acf06b1da0e3a 100644
--- a/src/DynamicModel.cc
+++ b/src/DynamicModel.cc
@@ -5512,11 +5512,13 @@ DynamicModel::substituteExpectation(bool partial_information_model)
   // Substitute in equations
   for (auto &equation : equations)
     {
-      auto substeq = dynamic_cast<BinaryOpNode *>(equation->substituteExpectation(subst_table, neweqs, partial_information_model));
-      assert(substeq);
-      equation = substeq;
+      equation = dynamic_cast<BinaryOpNode *>(equation->substituteExpectation(subst_table, neweqs, partial_information_model));
+      assert(equation);
     }
 
+  /* No need to substitute in static_only_equations, since expectation()
+     operators in [static] equations are forbidden at the parsing level. */
+
   // Add new equations
   for (auto &neweq : neweqs)
     {