diff --git a/src/lib-sieve/storage/ldap/sieve-ldap-db.c b/src/lib-sieve/storage/ldap/sieve-ldap-db.c
index 791a1bb9c35a434151f667bc2ee4904e47097047..0263ce0fdc5dcbc5ec17c7e33946ce8546db3f7e 100644
--- a/src/lib-sieve/storage/ldap/sieve-ldap-db.c
+++ b/src/lib-sieve/storage/ldap/sieve-ldap-db.c
@@ -1201,9 +1201,9 @@ db_ldap_get_var_expand_table(struct ldap_connection *conn, const char *name)
 	memcpy(tab, auth_request_var_expand_static_tab,
 	       auth_count * sizeof(*tab));
 
-	tab[0].value = ldap_escape(lstorage->username);
-	tab[1].value = ldap_escape(t_strcut(lstorage->username, '@'));
-	tab[2].value = strchr(lstorage->username, '@');
+	tab[0].value = ldap_escape(svinst->username);
+	tab[1].value = ldap_escape(t_strcut(svinst->username, '@'));
+	tab[2].value = strchr(svinst->username, '@');
 	if (tab[2].value != NULL)
 		tab[2].value = ldap_escape(tab[2].value+1);
 	tab[3].value = ldap_escape(svinst->home_dir);
diff --git a/src/lib-sieve/storage/ldap/sieve-ldap-storage.c b/src/lib-sieve/storage/ldap/sieve-ldap-storage.c
index ec08831d824873205d54aef62288421fa00ae616..9f27b4d7e73a0040c7e3b7721e8529c4cbb56b1a 100644
--- a/src/lib-sieve/storage/ldap/sieve-ldap-storage.c
+++ b/src/lib-sieve/storage/ldap/sieve-ldap-storage.c
@@ -47,7 +47,7 @@ sieve_ldap_storage_init(struct sieve_storage *storage,
 	struct sieve_ldap_storage *lstorage =
 		container_of(storage, struct sieve_ldap_storage, storage);
 	struct sieve_instance *svinst = storage->svinst;
-	const char *value, *username = NULL;
+	const char *value;
 
 	if (options != NULL) {
 		while (*options != NULL) {
@@ -55,7 +55,7 @@ sieve_ldap_storage_init(struct sieve_storage *storage,
 
 			if (str_begins_icase(option, "user=", &value) &&
 			    *value != '\0') {
-				username = value;
+				/* Ignore */
 			} else {
 				sieve_storage_set_critical(
 					storage, "Invalid option '%s'", option);
@@ -67,22 +67,18 @@ sieve_ldap_storage_init(struct sieve_storage *storage,
 		}
 	}
 
-	if (username == NULL)
-		username = svinst->username;
-
 	e_debug(storage->event, "user=%s, config=%s",
-		username, storage->location);
+		svinst->username, storage->location);
 
 	if (sieve_ldap_storage_read_settings(lstorage, storage->location) < 0)
 		return -1;
 
-	lstorage->username = p_strdup(storage->pool, username);
 	lstorage->config_file = p_strdup(storage->pool, storage->location);
 	lstorage->conn = sieve_ldap_db_init(lstorage);
 
 	storage->location = p_strconcat(
 		storage->pool, SIEVE_LDAP_STORAGE_DRIVER_NAME, ":",
-		storage->location, ";user=", username, NULL);
+		storage->location, ";user=", svinst->username, NULL);
 
 	return 0;
 }
diff --git a/src/lib-sieve/storage/ldap/sieve-ldap-storage.h b/src/lib-sieve/storage/ldap/sieve-ldap-storage.h
index 0420f9266c50782a0487eff6719dd15d36730956..2341900eeacdf80f66493fa0e0ac246ffe8065ea 100644
--- a/src/lib-sieve/storage/ldap/sieve-ldap-storage.h
+++ b/src/lib-sieve/storage/ldap/sieve-ldap-storage.h
@@ -66,7 +66,6 @@ struct sieve_ldap_storage {
 	time_t set_mtime;
 
 	const char *config_file;
-	const char *username; // FIXME: needed?
 
 	struct ldap_connection *conn;
 };