diff --git a/src/plugins/imapsieve/imap-sieve-storage.c b/src/plugins/imapsieve/imap-sieve-storage.c
index d7791c1c3ec6e051af117e20c514727d83cc0cbc..1623fb6e3b681117be06980a039cba9ba4eba469 100644
--- a/src/plugins/imapsieve/imap-sieve-storage.c
+++ b/src/plugins/imapsieve/imap-sieve-storage.c
@@ -747,7 +747,10 @@ imap_sieve_mailbox_transaction_run(
 			continue;
 		}
 
-		i_assert(!mail->expunged);
+		if (mail->expunged) {
+			/* already gone for some reason */
+			continue;
+		}
 
 		/* Run scripts for this mail */
 		ret = imap_sieve_run_mail