diff --git a/aleksis/core/util/predicates.py b/aleksis/core/util/predicates.py
index ec92aeeda0f0fcbf3fd6a439a824633bcccc1f9a..438383c9655c34592bfafbe188695a8e79d9b067 100644
--- a/aleksis/core/util/predicates.py
+++ b/aleksis/core/util/predicates.py
@@ -75,14 +75,19 @@ def has_any_object(perm: str, klass):
 
     Build predicate which checks whether a user has access
     to objects with the provided permission or rule.
+    Differentiates between object-related permissions and rules.
     """
     name = f"has_any_object:{perm}"
 
     @predicate(name)
     def fn(user: User) -> bool:
         ct_perm = get_content_type_by_perm(perm)
+        # In case a object-related permission with the same ContentType class as the given class
+        # is passed, the optimized django-guardian get_objects_for_user function is used.
         if ct_perm and ct_perm.model_class() == klass:
             return get_objects_for_user(user, perm, klass).exists()
+        # In other cases, it is checked for each object of the given model whether the current user
+        # fulfills the given rule.
         else:
             return queryset_rules_filter(user, klass.objects.all(), perm).exists()