diff --git a/product/ERP5/Document/BusinessTemplate.py b/product/ERP5/Document/BusinessTemplate.py
index 8e76e28b2be7a589f0d5593d48f1fa28c4b9ae8f..1c0e7c3e5153cfd4c45796a1bb9c2218a77d0d70 100644
--- a/product/ERP5/Document/BusinessTemplate.py
+++ b/product/ERP5/Document/BusinessTemplate.py
@@ -1473,29 +1473,26 @@ class PathTemplateItem(ObjectTemplateItem):
     update_dict = defaultdict(list)
     for path in self._objects:
       obj = p.unrestrictedTraverse(path, None)
-
+      # Ignore any object without PortalType (non-ERP5 objects)
       try:
         portal_type = aq_base(obj).getPortalType()
       except Exception, e:
-        LOG("BusinessTemplate", WARNING,
-            "Could not update Local Roles as Portal Type for '%s' (obj: %s)"
-            " is not available" % (path, obj), error=True)
-
-        continue
+        pass
+      else:
+        if portal_type not in p.portal_types:
+          LOG("BusinessTemplate", WARNING,
+              "Could not update Local Roles as Portal Type '%s' could not "
+              "be found" % portal_type)
 
-      if portal_type not in p.portal_types:
-        LOG("BusinessTemplate", WARNING,
-            "Could not update Local Roles as Portal Type '%s' could not "
-            "be found" % portal_type)
+          continue
 
-        continue
+        if portal_type not in portal_type_role_list_len_dict:
+          portal_type_role_list_len_dict[portal_type] = \
+              len(p.portal_types[portal_type].getRoleInformationList())
 
-      if portal_type not in portal_type_role_list_len_dict:
-        portal_type_role_list_len_dict[portal_type] = \
-            len(p.portal_types[portal_type].getRoleInformationList())
+        if portal_type_role_list_len_dict[portal_type]:
+          update_dict[portal_type].append(obj)
 
-      if portal_type_role_list_len_dict[portal_type]:
-        update_dict[portal_type].append(obj)
     if update_dict:
       def updateLocalRolesOnDocument():
         for portal_type, obj_list in update_dict.iteritems():