diff --git a/product/ERP5Type/Utils.py b/product/ERP5Type/Utils.py
index 621fd68c801430a0c09a0d320e71d414840c264f..ff4d1f7b132362058226a670eb5166180cdefc5b 100644
--- a/product/ERP5Type/Utils.py
+++ b/product/ERP5Type/Utils.py
@@ -1546,12 +1546,15 @@ def setDefaultProperties(property_holder, object=None, portal=None):
         else:
           base_category_list.append(cat)
 
+      if portal is not None:
+        portal_categories = getattr(portal, 'portal_categories', None)
+      else:
+        portal_categories = None
       for cat in base_category_list:
         # Get read and write permission
-        if portal is not None:
-          cat_object = portal.portal_categories.get(cat, None)
-        else:
-          cat_object = None
+        cat_object = None
+        if portal_categories is not None:
+          cat_object = portal_categories.get(cat, None)
         if cat_object is not None:
           read_permission = Permissions.__dict__.get(
                                   cat_object.getReadPermission(),