diff --git a/product/ERP5/MovementGroup.py b/product/ERP5/MovementGroup.py
index 10436638b195a601331f245a9ac21c501f8291b6..29ef567fe49e7c9ff69995747d27e6b7a8db445f 100755
--- a/product/ERP5/MovementGroup.py
+++ b/product/ERP5/MovementGroup.py
@@ -463,15 +463,21 @@ class FakeMovement:
   def setDeliveryValue(self, object):
     """
       Set Delivery value for each movement
-      And calculate delivery_ratio
     """
     for movement in self.__movement_list:
-      # XXX is delivery_ratio well calculated ?
-      # movement.getQuantity / 
-      #  (sum object.getRelatedSimulationMovement.getQuantity)
-      movement.edit(
-          delivery_value=object,
-          delivery_ratio=(movement.getQuantity() / object.getQuantity()))
+      movement.edit(delivery_value=object)
+
+  def setDeliveryRatio(self, delivery_ratio):
+    """
+      Calculate delivery_ratio
+    """
+    total_quantity = 0
+    for movement in self.__movement_list:
+      total_quantity += movement.getQuantity()
+
+    for movement in self.__movement_list:
+      quantity = movement.getQuantity()
+      movement.setDeliveryRatio(quantity*delivery_ratio/total_quantity)
       
   def getPrice(self):
     """