diff --git a/aleksis/core/util/core_helpers.py b/aleksis/core/util/core_helpers.py
index 3c624f8537aa2b7d1ae2dc089c050f769e55ab08..548390416a8d4968a6e43b5a0a136679c8ea4b38 100644
--- a/aleksis/core/util/core_helpers.py
+++ b/aleksis/core/util/core_helpers.py
@@ -219,3 +219,10 @@ def get_announcement_by_pk(request: HttpRequest, id_: Optional[int] = None):
         return get_object_or_404(Announcement, pk=pk)
 
     return None
+
+
+def get_notification_by_pk(request: HttpRequest, pk: int):
+    try:
+        return get_object_or_404(Notification, pk=pk)
+    except:
+        return None
diff --git a/aleksis/core/views.py b/aleksis/core/views.py
index e89caf6b93b2931fc0c4de3cdd261cdeaaf52610..bd1a0d8f045ab2f4e946060f92999905846d65d4 100644
--- a/aleksis/core/views.py
+++ b/aleksis/core/views.py
@@ -33,7 +33,7 @@ from .registries import site_preferences_registry, group_preferences_registry, p
 from .tables import GroupsTable, PersonsTable
 from .util import messages
 from .util.apps import AppConfig
-from .util.core_helpers import get_announcement_by_pk, get_group_by_pk, get_person_by_pk
+from .util.core_helpers import get_announcement_by_pk, get_group_by_pk, get_person_by_pk, get_notification_by_pk
 
 
 @permission_required("core.view_dashboard")
@@ -301,10 +301,6 @@ def system_status(request: HttpRequest) -> HttpResponse:
     return render(request, "core/system_status.html", context)
 
 
-def get_notification_by_pk(request: HttpRequest, pk: int):
-    return get_object_or_404(Notification, pk=pk)
-
-
 @permission_required("core.mark_notification_as_read", fn=get_notification_by_pk)
 def notification_mark_read(request: HttpRequest, id_: int) -> HttpResponse:
     """ Mark a notification read """