diff --git a/DynamicModel.cc b/DynamicModel.cc
index 663453429cb8367e88127c1222739d08d9d0d8ac..c83da4533d99be0f531b71a316addbabbe01da18 100644
--- a/DynamicModel.cc
+++ b/DynamicModel.cc
@@ -3722,7 +3722,14 @@ DynamicModel::cloneDynamic(DynamicModel &dynamic_model) const
 
   // Convert equations
   for (size_t i = 0; i < equations.size(); i++)
-    dynamic_model.addEquation(equations[i]->cloneDynamic(dynamic_model), equations_lineno[i]);
+    {
+      vector<pair<string, string> > eq_tags;
+      for (vector<pair<int, pair<string, string> > >::const_iterator it = equation_tags.begin();
+           it != equation_tags.end(); ++it)
+        if (it->first == i)
+          eq_tags.push_back(it->second);
+      dynamic_model.addEquation(equations[i]->cloneDynamic(dynamic_model), equations_lineno[i], eq_tags);
+    }
 
   // Convert auxiliary equations
   for (deque<BinaryOpNode *>::const_iterator it = aux_equations.begin();