diff --git a/src/plugins/doveadm-sieve/doveadm-sieve-sync.c b/src/plugins/doveadm-sieve/doveadm-sieve-sync.c
index 17e1878b86caa0172fa4e64d20fedbb51222fc9f..9f5355892e142fb4181b92e636d9fe454071414a 100644
--- a/src/plugins/doveadm-sieve/doveadm-sieve-sync.c
+++ b/src/plugins/doveadm-sieve/doveadm-sieve-sync.c
@@ -16,9 +16,9 @@
 #include "doveadm-sieve-plugin.h"
 
 #define SIEVE_MAIL_CONTEXT(obj) \
-	MODULE_CONTEXT(obj, sieve_storage_module)
+	MODULE_CONTEXT_REQUIRE(obj, sieve_storage_module)
 #define SIEVE_USER_CONTEXT(obj) \
-	MODULE_CONTEXT(obj, sieve_user_module)
+	MODULE_CONTEXT_REQUIRE(obj, sieve_user_module)
 
 struct sieve_mail_user {
 	union mail_user_module_context module_ctx;
@@ -79,8 +79,6 @@ mail_sieve_user_init
 		SIEVE_STORAGE_FLAG_SYNCHRONIZING;
 	struct sieve_environment svenv;
 
-	i_assert( suser != NULL );
-
 	if ( suser->svinst != NULL ) {
 		*svstorage_r = suser->sieve_storage;
 		return suser->sieve_storage != NULL ? 1 : 0;