diff --git a/product/CMFCategory/Renderer.py b/product/CMFCategory/Renderer.py
index 851d89dbd78f1e413ec15d120793d7b1ce65cefe..1bf488bbb71b58ae3832557b015702d3da99cb89 100644
--- a/product/CMFCategory/Renderer.py
+++ b/product/CMFCategory/Renderer.py
@@ -194,8 +194,7 @@ class Renderer(Filter):
       url = value.getRelativeUrl()
       if self.base:
         if self.base_category:
-          # Prepend the specified base category to the url.
-          url = self.base_category + '/' + url
+          url = '%s/%s' % (self.base_category, url)
         else:
           # If the base category of this category does not match the guessed
           # base category, merely ignore this category.
@@ -206,6 +205,10 @@ class Renderer(Filter):
           # Remove from now, it might be outdated and useless
           #if value.getBaseCategoryId() != guessed_base_category:
           #  continue
+
+        # Prepend the specified base category to the url.
+        if isinstance(self.base, str):
+          url = '%s/%s' % (self.base, url)
       else:
         if self.base_category:
           # Nothing to do.
diff --git a/product/CMFCategory/tests/testCMFCategory.py b/product/CMFCategory/tests/testCMFCategory.py
index 52d091eec4bac110367b4a7c37b7b7facf95c42e..15c1c71beea82fd5802c5a5da1600566e5d5771c 100644
--- a/product/CMFCategory/tests/testCMFCategory.py
+++ b/product/CMFCategory/tests/testCMFCategory.py
@@ -884,6 +884,21 @@ class TestCMFCategory(ERP5TypeTestCase):
     self.assertEquals(list(c1.getCategoryChildValueList(
                               local_sort_id='int_index')), [c12, c11, c111])
 
+  
+  def test_25_getCategoryChildItemList_base_parameter(self):
+    pc = self.getCategoriesTool()
+    bc = pc.newContent(portal_type='Base Category', id='foo')
+    c1 = bc.newContent(portal_type='Category', id='1', title='C')
+    
+    self.assertEquals([['', ''], ['C', '1']],
+                      bc.getCategoryChildTitleItemList())
+    self.assertEquals([['', ''], ['C', '1']],
+                      bc.getCategoryChildTitleItemList(base=0))
+    self.assertEquals([['', ''], ['C', 'foo/1']],
+                      bc.getCategoryChildTitleItemList(base=1))
+    self.assertEquals([['', ''], ['C', 'bar/foo/1']],
+                      bc.getCategoryChildTitleItemList(base='bar'))
+
 
 if __name__ == '__main__':
     framework()