diff --git a/product/CMFActivity/Activity/SQLDict.py b/product/CMFActivity/Activity/SQLDict.py
index c5f0a4ceeb9416650bf0e4a89dd186eb8e224bcc..8faef6ab3641036724a6a13e7b5fdc22eda301e6 100755
--- a/product/CMFActivity/Activity/SQLDict.py
+++ b/product/CMFActivity/Activity/SQLDict.py
@@ -200,8 +200,9 @@ class SQLDict(RAMDict):
       for m in activity_tool.getRegisteredMessageList(self):
         if list(m.object_path) == list(object_path) and (method_id is None or method_id == m.method_id):
           activity_tool.unregisterMessage(self, m)
-          if not method_dict.has_key(method_id or m.method_id):
-            method_dict[method_id or m.method_id] = 1 # Prevents calling invoke twice
+          #if not method_dict.has_key(method_id or m.method_id):
+          if not method_dict.has_key((tuple(object_path),method_id or m.method_id)):
+            method_dict[(tuple(object_path),method_id or m.method_id)] = 1 # Prevents calling invoke twice
             if invoke:
               # First Validate
               if m.validate(self, activity_tool):