diff --git a/src/linkahead/common/models.py b/src/linkahead/common/models.py
index 81f10eda0e580b2ae0d4a2e2199ac6ea978cb525..0cefbbb3adfca8ab12cac39fb87648b59acc48d1 100644
--- a/src/linkahead/common/models.py
+++ b/src/linkahead/common/models.py
@@ -474,14 +474,14 @@ class Entity:
             priority=priority)
 
     def is_permitted(self, permission: Permission, role: Optional[str] = None):
-        if self.acl is None:
-            raise EntityHasNoAclError("This entity does not have an ACL (yet).")
-
         if role is None and self.permissions is not None:
             # pylint: disable=unsupported-membership-test
             return permission in self.permissions
+        else:
+            if self.acl is None:
+                raise EntityHasNoAclError("This entity does not have an ACL (yet).")
+            self.acl.is_permitted(role=role, permission=permission)
 
-        self.acl.is_permitted(role, permission=permission)
 
     def get_all_messages(self) -> Messages:
         ret = Messages()