diff --git a/product/ERP5/mixin/rule.py b/product/ERP5/mixin/rule.py
index f84f768058ad24a772d688f5812898b62515b545..e4c18dcc9a5622276e5c66759f478e76a140929c 100644
--- a/product/ERP5/mixin/rule.py
+++ b/product/ERP5/mixin/rule.py
@@ -368,6 +368,7 @@ class RuleMixin(Predicate):
           # Compensate non deletable
           new_movement = decision_movement.asContext(
                             quantity=-decision_movement.getQuantity())
+          new_movement.setDelivery(None)
           movement_collection_diff.addNewMovement(new_movement)
       return
 
@@ -412,6 +413,7 @@ class RuleMixin(Predicate):
           if not _compare(profit_tester_list, prevision_movement, decision_movement):
             new_movement = decision_movement.asContext(
                                 quantity=-decision_movement_quantity)
+            new_movement.setDelivery(None)
             movement_collection_diff.addNewMovement(new_movement)
             compensated_quantity += decision_movement_quantity
         else:
@@ -436,6 +438,7 @@ class RuleMixin(Predicate):
           if not _compare(divergence_tester_list, prevision_movement, decision_movement):
             new_movement = decision_movement.asContext(
                                   quantity=-decision_movement_quantity)
+            new_movement.setDelivery(None)
             movement_collection_diff.addNewMovement(new_movement)
             compensated_quantity += decision_movement_quantity
         else:
@@ -472,6 +475,7 @@ class RuleMixin(Predicate):
         # It is still possible to add a new movement some movements are not
         # completed
         new_movement = prevision_movement.asContext(quantity=missing_quantity)
+        new_movement.setDelivery(None)
         movement_collection_diff.addNewMovement(new_movement)
       elif updatable_compensation_movement is not None:
         # If not, it means that all movements are completed