diff --git a/src/lib-sieve-tool/sieve-tool.c b/src/lib-sieve-tool/sieve-tool.c
index 7231b66737e5f84a623d9be26292e98c0bdf38e6..a83dc6f78e629eb1fb768b558acaf64630700997 100644
--- a/src/lib-sieve-tool/sieve-tool.c
+++ b/src/lib-sieve-tool/sieve-tool.c
@@ -332,7 +332,7 @@ void sieve_tool_deinit(struct sieve_tool **_tool)
 	if ( tool->mail_user_dovecot != NULL )
 		mail_user_unref(&tool->mail_user_dovecot);
 
-	mail_storage_service_user_free(&tool->service_user);
+	mail_storage_service_user_unref(&tool->service_user);
 	mail_storage_service_deinit(&tool->storage_service);
 
 	/* Free sieve tool object */
diff --git a/src/managesieve/main.c b/src/managesieve/main.c
index 93eb9e24ea0cc87d5b619344c60605dee131473b..ef66f427c4ae3f0619fffdfc4656ccea4850c1d7 100644
--- a/src/managesieve/main.c
+++ b/src/managesieve/main.c
@@ -143,7 +143,7 @@ client_create_from_input(const struct mail_storage_service_input *input,
 	if (settings_var_expand(&managesieve_setting_parser_info, set, mail_user->pool,
 				mail_user_var_expand_table(mail_user), &error) <= 0) {
 		i_error("Failed to expand settings: %s", error);
-		mail_storage_service_user_free(&user);
+		mail_storage_service_user_unref(&user);
 		mail_user_unref(&mail_user);
 		return -1;
 	}
diff --git a/src/managesieve/managesieve-client.c b/src/managesieve/managesieve-client.c
index 7a9c0ddcc93fd600f451ce9e65629c63d0acf41a..d8827b3a2fe0fa0fca33e33331ef5d0490eade37 100644
--- a/src/managesieve/managesieve-client.c
+++ b/src/managesieve/managesieve-client.c
@@ -278,7 +278,7 @@ void client_destroy(struct client *client, const char *reason)
 	sieve_deinit(&client->svinst);
 
 	pool_unref(&client->cmd.pool);
-	mail_storage_service_user_free(&client->service_user);
+	mail_storage_service_user_unref(&client->service_user);
 
 	managesieve_client_count--;
 	DLLIST_REMOVE(&managesieve_clients, client);