diff --git a/product/ERP5/Document/Delivery.py b/product/ERP5/Document/Delivery.py
index a9f6903f88f9263511de1d4e7488b7d54f78b6c7..0d6e8d1037d927555f156569e819d04dceb3de5d 100755
--- a/product/ERP5/Document/Delivery.py
+++ b/product/ERP5/Document/Delivery.py
@@ -273,6 +273,17 @@ class Delivery(XMLObject):
           return 1
       return 0
 
+    def updateCausalityState(self,**kw):
+      """
+      This is often called as an activity, it will check if the
+      deliver is convergent, and if so it will put the delivery
+      in a solved state, if not convergent in a diverged state
+      """
+      if self.isDivergent():
+        self.diverge()
+      else:
+        self.converge()
+
     #######################################################
     # Defer indexing process
     def reindexObject(self, *k, **kw):