diff --git a/product/ERP5Catalog/CatalogTool.py b/product/ERP5Catalog/CatalogTool.py
index a58d4d6686b9761f0500e9cbe58daa9c4b7a114a..3c5a65bd1118a13ffba3b88fbe739658d507f838 100644
--- a/product/ERP5Catalog/CatalogTool.py
+++ b/product/ERP5Catalog/CatalogTool.py
@@ -897,7 +897,7 @@ class CatalogTool (UniqueObject, ZCatalog, CMFCoreCatalogTool, ActiveObject):
         splitted_key = key.split('_')
         # look from the end of the key from the beginning if we
         # can find 'title', or 'portal_type'...
-        for i in range(1,len(splitted_key))[::-1]:
+        for i in xrange(len(splitted_key) - 1, 0, -1):
           expected_base_cat_id = '_'.join(splitted_key[0:i])
           if expected_base_cat_id != 'parent' and \
              expected_base_cat_id in base_cat_id_list: