diff --git a/src/lib-sieve/sieve-execute.c b/src/lib-sieve/sieve-execute.c
index a395cc6becff05b5de95fa17a06f09150ee40176..05a4bda673b6a995a1da3def92cd511a762c3e84 100644
--- a/src/lib-sieve/sieve-execute.c
+++ b/src/lib-sieve/sieve-execute.c
@@ -39,6 +39,8 @@ void sieve_execute_init(struct sieve_execute_env *eenv,
 			const struct sieve_script_env *senv,
 			enum sieve_execute_flags flags)
 {
+	i_assert(svinst->username != NULL);
+
 	i_zero(eenv);
 	eenv->svinst = svinst;
 	eenv->pool = pool;
diff --git a/src/lib-sieve/sieve-storage.c b/src/lib-sieve/sieve-storage.c
index caafd6294d5141a2b936faee999b8e8831da48b6..c1900ee4d1f18e7670d2a69d5a9f7b636ffd8b3c 100644
--- a/src/lib-sieve/sieve-storage.c
+++ b/src/lib-sieve/sieve-storage.c
@@ -274,6 +274,8 @@ int sieve_storage_alloc(struct sieve_instance *svinst, struct event *event,
 {
 	struct sieve_storage *storage;
 
+	i_assert(svinst->username != NULL);
+
 	i_assert(storage_class->v.alloc != NULL);
 	storage = storage_class->v.alloc();