diff --git a/product/CMFCategory/CategoryTool.py b/product/CMFCategory/CategoryTool.py
index 2f08fa87ee02b795765d4e9b936f44f69d04b5c6..f63015b57e870822760662b2d8bd2ef29ace08c2 100644
--- a/product/CMFCategory/CategoryTool.py
+++ b/product/CMFCategory/CategoryTool.py
@@ -616,8 +616,10 @@ class CategoryTool( UniqueObject, Folder, Base ):
         category_list = (category_list,)
       elif category_list is None:
         category_list = ()
-      elif not isinstance(category_list, list):
-          raise TypeError, 'Category must be a string.'
+      elif isinstance(category_list, (list, tuple)):
+        pass
+      else:
+        raise TypeError, 'Category must be of string, tuple of string or list of string type.'
       if isinstance(base_category_list, str):
         base_category_list = [base_category_list]
       new_category_list = []