diff --git a/product/ERP5/Document/Predicate.py b/product/ERP5/Document/Predicate.py
index 06ba560af165055b2b01c54a92103d79bd462100..e2687dac4fd23f5c8f6e1beb7fbbf917ff082a85 100644
--- a/product/ERP5/Document/Predicate.py
+++ b/product/ERP5/Document/Predicate.py
@@ -162,7 +162,11 @@ class Predicate(XMLObject, Folder):
       for test_method_id in test_method_id_list :
         if (test_method_id is not None) and result:
           method = getattr(context,test_method_id)
-          result = result and method(self)
+          try:
+            result = result and method(self)
+          except TypeError:
+            # backward compatibilty with script that takes no argument
+            result = result and method()
 #        LOG('predicate test', 0,
 #            '%s after method %s ' % (result, test_method_id))
     return result