diff --git a/product/CMFActivity/Activity/SQLDict.py b/product/CMFActivity/Activity/SQLDict.py
index 4c00983763dbf1cf2364be5a5aae1a99dc5cfdf5..0f017308551e12e95d7d35cdb9d9a2e4e3353aaf 100755
--- a/product/CMFActivity/Activity/SQLDict.py
+++ b/product/CMFActivity/Activity/SQLDict.py
@@ -472,20 +472,20 @@ class SQLDict(RAMDict):
     # Count number of occurances of method_id
     if type(value) == type(''):
       value = [value]
-    result = activity_tool.SQLDict_validateMessageList(method_id=value, message_uid=None, path=None)
-#     LOG('SQLDict._validate_after_method_id, method_id',0,value)
-#     LOG('SQLDict._validate_after_method_id, result[0].uid_count',0,result[0].uid_count)
-    if result[0].uid_count > 0:
-      return INVALID_ORDER
+    if len(value)>0: # if empty list provided, the message is valid
+      result = activity_tool.SQLDict_validateMessageList(method_id=value, message_uid=None, path=None)
+      if result[0].uid_count > 0:
+        return INVALID_ORDER
     return VALID
 
   def _validate_after_path(self, activity_tool, message, value):
     # Count number of occurances of path
     if type(value) == type(''):
       value = [value]
-    result = activity_tool.SQLDict_validateMessageList(method_id=None, message_uid=None, path=value)
-    if result[0].uid_count > 0:
-      return INVALID_ORDER
+    if len(value)>0: # if empty list provided, the message is valid
+      result = activity_tool.SQLDict_validateMessageList(method_id=None, message_uid=None, path=value)
+      if result[0].uid_count > 0:
+        return INVALID_ORDER
     return VALID
 
   def _validate_after_message_uid(self, activity_tool, message, value):