diff --git a/aleksis/core/models.py b/aleksis/core/models.py
index 5e3a9e85a579aeb8b20fbf9a3abef1cb82568b87..d0042d654947a30735f3012794f9edf5f162b00f 100644
--- a/aleksis/core/models.py
+++ b/aleksis/core/models.py
@@ -494,7 +494,7 @@ class Notification(ExtensibleModel, TimeStampedModel):
     def save(self, **kwargs):
         super().save(**kwargs)
         if not self.sent:
-            transaction.on_commit(lambda: send_notification(self.pk, resend=True))
+            send_notification(self.pk, resend=True)
         self.sent = True
         super().save(**kwargs)
 
diff --git a/aleksis/core/util/core_helpers.py b/aleksis/core/util/core_helpers.py
index fcbf1b65f7b20aea5c2bf1d7b5098c922c12dd1f..18fcfc241ea76d96312e1339fbde6fd526218307 100644
--- a/aleksis/core/util/core_helpers.py
+++ b/aleksis/core/util/core_helpers.py
@@ -14,6 +14,7 @@ else:
     import importlib_metadata as metadata
 
 from django.conf import settings
+from django.db import transaction
 from django.db.models import Model, QuerySet
 from django.http import HttpRequest
 from django.shortcuts import get_object_or_404
@@ -209,7 +210,7 @@ def celery_optional(orig: Callable) -> Callable:
 
     def wrapped(*args, **kwargs):
         if is_celery_enabled():
-            return task.delay(*args, **kwargs), False
+            return transaction.on_commit(lambda: task.delay(*args, **kwargs)), False
         else:
             return orig(*args, **kwargs), True