diff --git a/product/ERP5Type/patches/PropertiedUser.py b/product/ERP5Type/patches/PropertiedUser.py
index eaeac773926d5cc5b37fbaabd2b96553861fe58e..bf54e076dc26a4964977e154ac4d85e3df027fa3 100644
--- a/product/ERP5Type/patches/PropertiedUser.py
+++ b/product/ERP5Type/patches/PropertiedUser.py
@@ -63,8 +63,9 @@ def getRolesInContext( self, object ):
                     local[ role ] = 1
                     
         # patch by Klaus for LocalRole blocking
-        if hasattr(object, '_getAcquireLocalRoles'):
-            if not object._getAcquireLocalRoles():
+        _getAcquireLocalRoles = getattr(object, '_getAcquireLocalRoles', None)
+        if _getAcquireLocalRoles is not None:
+            if not _getAcquireLocalRoles():
                 break
 
         inner = aq_inner( object )
@@ -164,8 +165,9 @@ def allowed( self, object, object_roles=None ):
                         return 0
                     
         # patch by Klaus for LocalRole blocking
-        if hasattr(object, '_getAcquireLocalRoles'):
-            if not object._getAcquireLocalRoles():
+        _getAcquireLocalRoles = getattr(object, '_getAcquireLocalRoles', None)
+        if _getAcquireLocalRoles is not None:
+            if not _getAcquireLocalRoles():
                 break
 
         inner = aq_inner( inner_obj )