diff --git a/product/CMFCategory/CategoryTool.py b/product/CMFCategory/CategoryTool.py
index b474f5b0b0905967d8e34869ae2d5e79efd052a9..10417d1673e9ab1d8281f0bd5c732f9383cca130 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, tuple(portal_type)) # Prevents recursion in category acquisition
+        context_key = (tuple(context.getPhysicalPath()), base_category, tuple(spec)) # Prevents recursion in category acquisition
         if context_key in acquired_object_dict:
           # Stop recursion if this object if already used
           return []