diff --git a/product/ERP5Type/ERP5Type.py b/product/ERP5Type/ERP5Type.py
index b5688811b458429b396ac8aa4c70ff77b8d98ba7..8c0b99b55843ed66271b19e26a63fe759f1265fa 100755
--- a/product/ERP5Type/ERP5Type.py
+++ b/product/ERP5Type/ERP5Type.py
@@ -311,13 +311,16 @@ class ERP5TypeInformation( FactoryTypeInformation, RoleProviderBase ):
             role_group_dict = {}
             for category_dict in value_list:
                 group_id = group_id_generator(**category_dict)
-                if type(group_id) is type('a'):
-                  # Single group is defined
-                  role_group_dict[group_id] = 1
-                else:
-                  # Multiple users defined
-                  for user_id in group_id:
-                    role_group_dict[user_id] = 1
+                # If group_id is not defined, do not use it
+                if group_id not in (None, ''):
+                  if type(group_id) is type('a'):
+                    # Single group is defined (this is usually for group membership)
+                    role_group_dict[group_id] = 1
+                  else:
+                    # Multiple groups are defined (this is usually for users)
+                    # but it could be extended to ad hoc groups
+                    for user_id in group_id:
+                      role_group_dict[user_id] = 1
             role_group_id_dict[role].extend(role_group_dict.keys())
 
         # Switch index from role to group id