diff --git a/src/plugins/imap-filter-sieve/imap-filter-sieve.c b/src/plugins/imap-filter-sieve/imap-filter-sieve.c
index a8b4b18ecc4b1d1b117325e87ab6e3207139ec92..de8383a62253a15c8187c04baa5d145ad59449d9 100644
--- a/src/plugins/imap-filter-sieve/imap-filter-sieve.c
+++ b/src/plugins/imap-filter-sieve/imap-filter-sieve.c
@@ -226,6 +226,7 @@ imap_filter_sieve_context_create(struct imap_filter_context *ctx,
 
 	sctx = p_new(cmd->pool, struct imap_filter_sieve_context, 1);
 	sctx->pool = cmd->pool;
+	sctx->filter_context = ctx;
 	sctx->filter_type = type;
 	sctx->user = ctx->cmd->client->user;
 
diff --git a/src/plugins/imap-filter-sieve/imap-filter-sieve.h b/src/plugins/imap-filter-sieve/imap-filter-sieve.h
index fa3cf05283efed8287398258a6e6e93ef567b7a1..2e108954d8338a826dda7f17ec1cba26751609ab 100644
--- a/src/plugins/imap-filter-sieve/imap-filter-sieve.h
+++ b/src/plugins/imap-filter-sieve/imap-filter-sieve.h
@@ -17,6 +17,7 @@ enum imap_filter_sieve_type {
 struct imap_filter_sieve_context {
 	pool_t pool;
 
+	struct imap_filter_context *filter_context;
 	enum imap_filter_sieve_type filter_type;
 
 	struct mail_user *user;