diff --git a/product/ERP5/Document/PredicateGroup.py b/product/ERP5/Document/PredicateGroup.py
index b6bb249ee9689fb8c4499d4a4d34efdca0ab79db..ad91de1589b5a2d8717665c9b24b9b8ad834dbe9 100755
--- a/product/ERP5/Document/PredicateGroup.py
+++ b/product/ERP5/Document/PredicateGroup.py
@@ -150,8 +150,14 @@ identify a bank account."""
         tested_base_category[bc] = tested_base_category[bc] and context.isMemberOf(c)
       elif bc in membership_criterion_base_category_list:
         tested_base_category[bc] = tested_base_category[bc] or context.isMemberOf(c)
+    result = result and (0 not in tested_base_category.values())
+    # Test method calls
+    test_method_id = self.getTestMethodId()
+    if test_method_id is not None and result:
+      method = getattr(self,method)
+      result = result and method()
     # XXX Add here additional method calls
-    return result and (0 not in tested_base_category.values())
+    return result
 
   def asPythonExpression():
     """