diff --git a/product/ERP5/Document/SimulationMovement.py b/product/ERP5/Document/SimulationMovement.py
index df1b61682e5aa586902c1cb82a7e68cee6d993b7..ac773af24cf5ed90438eca3d50edd5320ecad1e1 100644
--- a/product/ERP5/Document/SimulationMovement.py
+++ b/product/ERP5/Document/SimulationMovement.py
@@ -320,7 +320,11 @@ class SimulationMovement(Movement, PropertyRecordableMixin):
       delivery_value = self.getDeliveryValue()
       if delivery_value is not None:
         return delivery_value.asComposedDocument(*args, **kw)
-      self = self.getParentValue().getParentValue()
+      # below code is for compatibility with old rules
+      grand_parent = self.getParentValue().getParentValue()
+      if grand_parent.getPortalType() == 'Simulation Tool':
+        return self.getOrderValue().asComposedDocument(*args, **kw)
+      self = grand_parent
 
   # Deliverability / orderability
   security.declareProtected( Permissions.AccessContentsInformation,