diff --git a/product/CMFCategory/CategoryTool.py b/product/CMFCategory/CategoryTool.py
index 7a8d2e72825dd95dc04faf0135a1527c478faa18..b474f5b0b0905967d8e34869ae2d5e79efd052a9 100755
--- a/product/CMFCategory/CategoryTool.py
+++ b/product/CMFCategory/CategoryTool.py
@@ -756,7 +756,7 @@ class CategoryTool( UniqueObject, Folder, Base ):
       if acquired_object_dict is None:
         acquired_object_dict = {}
       else:
-        context_key = (context.getPhysicalPath(), base_category, portal_type) # Prevents recursion in category acquisition
+        context_key = (context.getPhysicalPath(), base_category, tuple(portal_type)) # Prevents recursion in category acquisition
         if context_key in acquired_object_dict:
           # Stop recursion if this object if already used
           return []