diff --git a/aleksis/core/rules.py b/aleksis/core/rules.py
index 44ba9198c4a6d44f326766452a302b583fde931f..716ee2b617fec36b86778f3bd75e10b6c5892f1e 100644
--- a/aleksis/core/rules.py
+++ b/aleksis/core/rules.py
@@ -2,7 +2,7 @@ from rules import add_perm, always_allow
 
 from aleksis.core.models import Person, Group, Announcement
 from aleksis.core.util.predicates import (
-    has_person_predicate,
+    has_person,
     has_global_perm,
     has_any_object,
     is_current_person,
@@ -13,82 +13,82 @@ from aleksis.core.util.predicates import (
 add_perm("core", always_allow)
 
 # View dashboard
-add_perm("core.view_dashboard", has_person_predicate)
+add_perm("core.view_dashboard", has_person)
 
 # Use search
-search_predicate = has_person_predicate & has_global_perm("core.search")
+search_predicate = has_person & has_global_perm("core.search")
 add_perm("core.search", search_predicate)
 
 # View persons
-view_persons_predicate = has_person_predicate & (
+view_persons_predicate = has_person & (
     has_global_perm("core.view_person") | has_any_object("core.view_person", Person)
 )
 add_perm("core.view_persons", view_persons_predicate)
 
 # View person
-view_person_predicate = has_person_predicate & (
+view_person_predicate = has_person & (
     has_global_perm("core.view_person") | has_object_perm("core.view_person") | is_current_person
 )
 add_perm("core.view_person", view_person_predicate)
 
 # View person address
-view_address_predicate = has_person_predicate & (
+view_address_predicate = has_person & (
     has_global_perm("core.view_address") | has_object_perm("core.view_address") | is_current_person
 )
 add_perm("core.view_address", view_address_predicate)
 
 # View person contact details
-view_contact_details_predicate = has_person_predicate & (
+view_contact_details_predicate = has_person & (
     has_global_perm("core.view_contact_details") | has_object_perm("core.view_contact_details") | is_current_person
 )
 add_perm("core.view_contact_details", view_contact_details_predicate)
 
 # View person photo
-view_photo_predicate = has_person_predicate & (
+view_photo_predicate = has_person & (
     has_global_perm("core.view_photo") | has_object_perm("core.view_photo") | is_current_person
 )
 add_perm("core.view_photo", view_photo_predicate)
 
 # View persons groups
-view_groups_predicate = has_person_predicate & (
+view_groups_predicate = has_person & (
     has_global_perm("core.view_person_groups") | has_object_perm("core.view_person_groups") | is_current_person
 )
 add_perm("core.view_person_groups", view_groups_predicate)
 
 # Edit person
-edit_person_predicate = has_person_predicate & (
+edit_person_predicate = has_person & (
     has_global_perm("core.change_person") | has_object_perm("core.change_person")
 )
 add_perm("core.edit_person", edit_person_predicate)
 
 # Link persons with accounts
-link_persons_accounts_predicate = has_person_predicate & has_global_perm("core.link_persons_accounts")
+link_persons_accounts_predicate = has_person & has_global_perm("core.link_persons_accounts")
 add_perm("core.link_persons_accounts", link_persons_accounts_predicate)
 
 # View groups
-view_groups_predicate = has_person_predicate & (
+view_groups_predicate = has_person & (
     has_global_perm("core.view_group") | has_any_object("core.view_group", Group)
 )
 add_perm("core.view_groups", view_groups_predicate)
 
 # View group
-view_group_predicate = has_person_predicate & (
+view_group_predicate = has_person & (
     has_global_perm("core.view_group") | has_object_perm("core.view_group")
 )
 add_perm("core.view_group", view_group_predicate)
 
 # Edit group
-edit_group_predicate = has_person_predicate & (
+edit_group_predicate = has_person & (
     has_global_perm("core.change_group") | has_object_perm("core.change_group")
 )
 add_perm("core.edit_group", edit_group_predicate)
 
 # Edit school information
-edit_school_information_predicate = has_person_predicate & has_global_perm("core.change_school")
+edit_school_information_predicate = has_person & has_global_perm("core.change_school")
 add_perm("core.edit_school_information", edit_school_information_predicate)
 
 # Edit school term
-edit_schoolterm_predicate = has_person_predicate & has_global_perm("core.change_schoolterm")
+edit_schoolterm_predicate = has_person & has_global_perm("core.change_schoolterm")
 add_perm("core.edit_schoolterm", edit_schoolterm_predicate)
 
 # Manage school
@@ -96,38 +96,38 @@ manage_school_predicate = edit_school_information_predicate | edit_schoolterm_pr
 add_perm("core.manage_school", manage_school_predicate)
 
 # Manage data
-manage_data_predicate = has_person_predicate & has_global_perm("core.manage_data")
+manage_data_predicate = has_person & has_global_perm("core.manage_data")
 add_perm("core.manage_data", manage_data_predicate)
 
 # View announcements
-view_announcements_predicate = has_person_predicate & (
+view_announcements_predicate = has_person & (
     has_global_perm("core.view_announcement") | has_any_object("core.view_announcement", Announcement)
 )
 add_perm("core.view_announcements", view_announcements_predicate)
 
 # Create or edit announcement
-create_or_edit_announcement_predicate = has_person_predicate & (
+create_or_edit_announcement_predicate = has_person & (
     has_global_perm("core.add_announcement") & (has_global_perm("core.change_announcement") | has_object_perm("core.change_announcement"))
 )
 add_perm("core.create_or_edit_announcement", create_or_edit_announcement_predicate)
 
 # Delete announcement
-delete_announcement_predicate = has_person_predicate & (
+delete_announcement_predicate = has_person & (
     has_global_perm("core.delete_announcement") | has_object_perm("core.delete_announcement")
 )
 add_perm("core.delete_announcement", delete_announcement_predicate)
 
 # Use impersonate
-impersonate_predicate = has_person_predicate & has_global_perm("core.impersonate")
+impersonate_predicate = has_person & has_global_perm("core.impersonate")
 add_perm("core.impersonate", impersonate_predicate)
 
 # View system status
-view_system_status_predicate = has_person_predicate & has_global_perm("core.view_system_status")
+view_system_status_predicate = has_person & has_global_perm("core.view_system_status")
 add_perm("core.view_system_status", view_system_status_predicate)
 
 # View people menu (persons + objects)
-add_perm("core.view_people_menu", has_person_predicate & (view_persons_predicate | view_groups_predicate))
+add_perm("core.view_people_menu", has_person & (view_persons_predicate | view_groups_predicate))
 
 # View admin menu
-view_admin_menu_predicate = has_person_predicate & (manage_data_predicate | manage_school_predicate | impersonate_predicate | view_system_status_predicate | view_announcements_predicate)
+view_admin_menu_predicate = has_person & (manage_data_predicate | manage_school_predicate | impersonate_predicate | view_system_status_predicate | view_announcements_predicate)
 add_perm("core.view_admin_menu", view_admin_menu_predicate)
diff --git a/aleksis/core/util/predicates.py b/aleksis/core/util/predicates.py
index f1d06327e57a8d63031dd1aa72ce162ac77151ac..f3ff252a57c54a686a27eb2029cf25a76f2c429a 100644
--- a/aleksis/core/util/predicates.py
+++ b/aleksis/core/util/predicates.py
@@ -6,7 +6,7 @@ from guardian.backends import ObjectPermissionBackend
 from guardian.shortcuts import get_objects_for_user
 from rules import predicate
 
-from aleksis.core.util.core_helpers import has_person
+from aleksis.core.util.core_helpers import has_person as has_person_helper
 
 # 1. Global permissions (view all, add, change all, delete all)
 # 2. Object permissions (view, change, delete)
@@ -73,10 +73,10 @@ def has_any_object(perm: str, klass):
 
 
 @predicate
-def has_person_predicate(user: User) -> bool:
+def has_person(user: User) -> bool:
     """ Predicate which checks whether a user has a linked person """
 
-    return has_person(user)
+    return has_person_helper(user)
 
 
 @predicate