diff --git a/aleksis/apps/alsijil/menus.py b/aleksis/apps/alsijil/menus.py
index 71ce1d9f119ffbe23dbea6f42dbd40a83811e82a..96ed7ef5ac48927bf16cc11a881314c51fcd486b 100644
--- a/aleksis/apps/alsijil/menus.py
+++ b/aleksis/apps/alsijil/menus.py
@@ -96,7 +96,7 @@ MENUS = {
                     "validators": [
                         (
                             "aleksis.core.util.predicates.permission_validator",
-                            "alsijil.register_absence_rule",
+                            "alsijil.view_register_absence_rule",
                         ),
                     ],
                 },
diff --git a/aleksis/apps/alsijil/rules.py b/aleksis/apps/alsijil/rules.py
index b2640b8cfbf2eb8a1874926ee5a5bce2809ef1dd..e9011c6c2b33ed58a21b6412f6c7e366b1b5e49e 100644
--- a/aleksis/apps/alsijil/rules.py
+++ b/aleksis/apps/alsijil/rules.py
@@ -156,15 +156,20 @@ view_week_personal_notes_predicate = has_person & (
 add_perm("alsijil.view_week_personalnote_rule", view_week_personal_notes_predicate)
 
 # Register absence
-register_absence_predicate = has_person & (
+view_register_absence_predicate = has_person & (
     (
         is_person_group_owner
         & is_site_preference_set("alsijil", "register_absence_as_primary_group_owner")
     )
     | has_global_perm("alsijil.register_absence")
+)
+
+register_absence_predicate = has_person & (
+    view_register_absence_predicate
     | has_object_perm("core.register_absence_person")
     | has_person_group_object_perm("core.register_absence_group")
 )
+add_perm("alsijil.view_register_absence_rule", view_register_absence_predicate)
 add_perm("alsijil.register_absence_rule", register_absence_predicate)
 
 # View full register for group