diff --git a/src/plugins/imapsieve/imap-sieve.c b/src/plugins/imapsieve/imap-sieve.c
index ca804dac4e5e3beaeaa2f925c990e377a98425cc..c1d4c219df97740be0499be06a9ce6bdfd36ae1a 100644
--- a/src/plugins/imapsieve/imap-sieve.c
+++ b/src/plugins/imapsieve/imap-sieve.c
@@ -773,6 +773,7 @@ int imap_sieve_run_mail(struct imap_sieve_run *isrun, struct mail *mail,
 	context.event.src_mailbox = isrun->src_mailbox;
 	context.event.cause = isrun->cause;
 	context.event.changed_flags = changed_flags;
+	context.mail = mail;
 	context.isieve = isieve;
 
 	/* Initialize trace logging */
diff --git a/src/plugins/imapsieve/imap-sieve.h b/src/plugins/imapsieve/imap-sieve.h
index b0e8fba3eebc78a3790f695164feaf95aa613069..31b624088ac905ac6c7c0e5b8a8ba779b6a90823 100644
--- a/src/plugins/imapsieve/imap-sieve.h
+++ b/src/plugins/imapsieve/imap-sieve.h
@@ -15,6 +15,7 @@ struct imap_sieve_event {
 
 struct imap_sieve_context {
 	struct imap_sieve_event event;
+	struct mail *mail;
 
 	struct imap_sieve *isieve;
 };