diff --git a/product/ERP5/Tool/DomainTool.py b/product/ERP5/Tool/DomainTool.py
index a83571db33bbfe36cd2d02776d0c7fba31c9aab9..77a236b9f45c1632ec01093360446bef8a281f6d 100644
--- a/product/ERP5/Tool/DomainTool.py
+++ b/product/ERP5/Tool/DomainTool.py
@@ -196,10 +196,16 @@ class DomainTool(BaseTool):
           # defined and tested_base_category_list is passed.
           predicate_category_query_list = []
           predicate_category_table_name_list = []
+          category_dict = {}
           for relative_url in category_list:
             category_value = portal_categories.getCategoryValue(relative_url)
             base_category_id = portal_categories.getBaseCategoryId(relative_url)
             base_category_value = portal_categories.getCategoryValue(base_category_id)
+            if not base_category_value in category_dict:
+              category_dict[base_category_value] = []
+            category_dict[base_category_value].append(category_value)
+
+          for base_category_value, category_value_list in category_dict.iteritems():
             if base_category_value.getId() in preferred_predicate_category_list:
               table_index = len(predicate_category_query_list)
               predicate_category_table_name = 'predicate_category_for_domain_tool_%s' % table_index
@@ -209,7 +215,7 @@ class DomainTool(BaseTool):
                       Query(predicate_category_base_category_uid=base_category_value.getUid(), table_alias_list=table_alias_list),
                       Query(predicate_category_category_strict_membership=1, table_alias_list=table_alias_list),
                       ComplexQuery(
-                          Query(predicate_category_category_uid=category_value.getUid(), table_alias_list=table_alias_list),
+                          Query(predicate_category_category_uid=[category_value.getUid() for category_value in category_value_list], table_alias_list=table_alias_list),
                           Query(predicate_category_category_uid='NULL', table_alias_list=table_alias_list),
                           logical_operator='OR'),
                       logical_operator='AND'))