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..b7d761c20101c002c9d4ebfa78f583ccf5815473 100644
--- a/aleksis/core/util/core_helpers.py
+++ b/aleksis/core/util/core_helpers.py
@@ -209,7 +209,8 @@ def celery_optional(orig: Callable) -> Callable:
 
     def wrapped(*args, **kwargs):
         if is_celery_enabled():
-            return task.delay(*args, **kwargs), False
+            with transaction.on_commit():
+                return task.delay(*args, **kwargs), False
         else:
             return orig(*args, **kwargs), True