diff --git a/aleksis/apps/alsijil/rules.py b/aleksis/apps/alsijil/rules.py
index 1a8a06adc1033d690d0b20cfbbe92869621767bc..0226e4434e6c3266aac43010e6a4b8359cbf7805 100644
--- a/aleksis/apps/alsijil/rules.py
+++ b/aleksis/apps/alsijil/rules.py
@@ -241,7 +241,7 @@ delete_extramark_predicate = view_extramarks_predicate & has_global_perm("alsiji
 add_perm("alsijil.delete_extramark", delete_extramark_predicate)
 
 # View group role list
-view_group_roles_predicate = has_global_perm("alsijil.view_grouprole")
+view_group_roles_predicate = has_person & has_global_perm("alsijil.view_grouprole")
 add_perm("alsijil.view_grouproles", view_group_roles_predicate)
 
 # Add group role
@@ -258,14 +258,14 @@ delete_group_role_predicate = view_group_roles_predicate & has_global_perm(
 )
 add_perm("alsijil.delete_grouprole", delete_group_role_predicate)
 
-view_assigned_group_roles_predicate = (
+view_assigned_group_roles_predicate = has_person & (
     is_group_owner
     | has_global_perm("alsjil.assign_grouprole")
     | has_object_perm("core.assign_grouprole")
 )
 add_perm("alsijil.view_assigned_grouproles", view_assigned_group_roles_predicate)
 
-view_assigned_group_roles_register_object_predicate = (
+view_assigned_group_roles_register_object_predicate = has_person & (
     is_lesson_teacher
     | is_lesson_original_teacher
     | is_lesson_parent_group_owner
@@ -276,20 +276,20 @@ add_perm(
     view_assigned_group_roles_register_object_predicate,
 )
 
-assign_group_role_person_predicate = is_person_group_owner | has_global_perm(
-    "alsjil.assign_grouprole"
+assign_group_role_person_predicate = has_person & (
+    is_person_group_owner | has_global_perm("alsjil.assign_grouprole")
 )
 add_perm("alsijil.assign_grouprole_to_person", assign_group_role_person_predicate)
 
-assign_group_role_for_multiple_predicate = is_owner_of_any_group | has_global_perm(
-    "alsjil.assign_grouprole"
+assign_group_role_for_multiple_predicate = has_person & (
+    is_owner_of_any_group | has_global_perm("alsjil.assign_grouprole")
 )
 add_perm("alsijil.assign_grouprole_for_multiple", assign_group_role_for_multiple_predicate)
 
 assign_group_role_group_predicate = view_assigned_group_roles_predicate
 add_perm("alsijil.assign_grouprole_for_group", assign_group_role_group_predicate)
 
-edit_group_role_assignment_predicate = (
+edit_group_role_assignment_predicate = has_person & (
     has_global_perm("alsjil.assign_grouprole") | is_group_role_assignment_group_owner
 )
 add_perm("alsijil.edit_grouproleassignment", edit_group_role_assignment_predicate)
@@ -297,7 +297,7 @@ add_perm("alsijil.edit_grouproleassignment", edit_group_role_assignment_predicat
 stop_group_role_assignment_predicate = edit_group_role_assignment_predicate
 add_perm("alsijil.stop_grouproleassignment", stop_group_role_assignment_predicate)
 
-delete_group_role_assignment_predicate = (
+delete_group_role_assignment_predicate = has_person & (
     has_global_perm("alsjil.assign_grouprole") | is_group_role_assignment_group_owner
 )
 add_perm("alsijil.delete_grouproleassignment", delete_group_role_assignment_predicate)