diff --git a/aleksis/apps/ticdesk/predicates.py b/aleksis/apps/ticdesk/predicates.py
index e061aba25fa6aa905b5ed68ac7d36bc8944fcfae..a837e64b4c1860390fc89333b0f4a458cecdfff1 100644
--- a/aleksis/apps/ticdesk/predicates.py
+++ b/aleksis/apps/ticdesk/predicates.py
@@ -31,3 +31,10 @@ def is_own_voucher(user: User, voucher: Voucher) -> bool:
     """Predicate which checks if the voucher belongs to the user."""
 
     return voucher.person == user.person
+
+
+@predicate
+def is_own_registration(user: User, registration: Registration) -> bool:
+    """Predicate which checks if the registration belongs to the user.""""
+
+    return registration.person == user.person
diff --git a/aleksis/apps/ticdesk/rules.py b/aleksis/apps/ticdesk/rules.py
index a06ca6daca1d00febe21baceaac97112ba4ef633..7a7bc50e7a27a07d6f692e76f9ad14019a3c42af 100644
--- a/aleksis/apps/ticdesk/rules.py
+++ b/aleksis/apps/ticdesk/rules.py
@@ -11,11 +11,10 @@ from aleksis.core.util.predicates import (
 
 from .models import EventRegistration, FeedbackAspect, TeckidsMember, TeckidsEvent, Voucher
 from .predicates import (
-    is_own_pgp_key,
-    is_own_ssh_key,
     is_own_voucher,
     see_group_by_grouptype,
     see_owned_groups_members,
+    is_own_registration,
 )
 
 # View vouchers
@@ -91,6 +90,7 @@ add_perm("ticdesk.view_registrations", view_registrations_predicate)
 # Manage registrations
 manage_registrations_predicate = has_person & (
     has_global_perm("ticdesk.manage_registrations")
+    | is_own_registration
     | has_any_object("ticdesk.manage_registrations", EventRegistration)
 )
 add_perm("ticdesk.manage_registrations", manage_registrations_predicate)