diff --git a/product/ERP5/Document/Delivery.py b/product/ERP5/Document/Delivery.py
index c3be99e9001755a3399483b9c39bbe2b4511c9a0..67e34325a8965fcd3c3273cde1cc285d8e9b33fa 100644
--- a/product/ERP5/Document/Delivery.py
+++ b/product/ERP5/Document/Delivery.py
@@ -792,7 +792,8 @@ class Delivery(XMLObject, ImmobilisationDelivery):
       # we might use a zsql method, because it can be very slow
       for m in self.getMovementList():
         if m.isSimulated():
-          sim_movement_list = m.getDeliveryRelatedValueList()
+          sim_movement_list = m.getDeliveryRelatedValueList(
+              portal_type='Simulation Movement') # XXX hardcoded
           for sim_movement in sim_movement_list:
             if sim_movement.getRootAppliedRule().getPath() \
                 not in excluded_rule_path_list:
diff --git a/product/ERP5/Document/Movement.py b/product/ERP5/Document/Movement.py
index 38365762ccaf880d5f15014e2048324279de1999..9db2b9fb36f6da2dabf2b67db0f09edc44b1ccef 100644
--- a/product/ERP5/Document/Movement.py
+++ b/product/ERP5/Document/Movement.py
@@ -493,7 +493,8 @@ class Movement(XMLObject, Amount):
     Return a list of messages that contains the divergences 
     """
     divergence_list = [] 
-    for simulation_movement in self.getDeliveryRelatedValueList():
+    for simulation_movement in self.getDeliveryRelatedValueList(
+      portal_type='Simulation Movement'): # XXX hardcoded
       divergence_list.extend(simulation_movement.getDivergenceList())
 
     return divergence_list