diff --git a/product/ERP5/Variated.py b/product/ERP5/Variated.py
index 2a8a28483829b3cb2496edfbb7002674b44fcc42..6623350e15133284e34e408a7dc2e49c05d45a7a 100755
--- a/product/ERP5/Variated.py
+++ b/product/ERP5/Variated.py
@@ -55,6 +55,23 @@ class Variated(Base):
   # Declarative interfaces
   __implements__ = (Interface.Variated, )
 
+  security.declareProtected(Permissions.AccessContentsInformation, 
+                            'getVariationBaseCategoryList')
+  def getVariationBaseCategoryList(self, omit_option_base_category=0):
+    """
+      Return the list of variation base category.
+      If omit_option_base_category==1, do not include base category
+      considered as option (ex: industrial_phase).
+    """
+    vbcl = self._baseGetVariationBaseCategoryList()
+    if omit_option_base_category == 1:
+      # XXX First implementation
+      # option base category list is a portal method, until the creation
+      # of a good API.
+      option_base_category_list = self.getPortalOptionBaseCategoryList()
+      vbcl = [x for x in vbcl if x not in option_base_category_list]
+    return vbcl
+
   security.declareProtected(Permissions.AccessContentsInformation, 
                             '_getVariationCategoryList')
   def _getVariationCategoryList(self, base_category_list = ()):
@@ -64,7 +81,8 @@ class Variated(Base):
 
   security.declareProtected(Permissions.AccessContentsInformation, 
                             'getVariationCategoryList')
-  def getVariationCategoryList(self, base_category_list=()):
+  def getVariationCategoryList(self, base_category_list=(),
+                               omit_option_base_category=0):
     """
       Returns the list of possible variations
     """