diff --git a/src/managesieve/main.c b/src/managesieve/main.c
index 462e0517fcf4493d9586885a19be5ea3f6b3002b..3daae115f66766e7f6d26ea9c29638f32fa0c9d2 100644
--- a/src/managesieve/main.c
+++ b/src/managesieve/main.c
@@ -79,6 +79,7 @@ void managesieve_refresh_proctitle(void)
 
 static void client_kill_idle(struct client *client)
 {
+	mail_storage_service_io_activate_user(client->service_user);
 	client_send_bye(client, "Server shutting down.");
 	client_destroy(client, "Server shutting down.");
 }
diff --git a/src/managesieve/managesieve-client.c b/src/managesieve/managesieve-client.c
index e310c85d8caac1351ed563042695e608863b8683..8fd4d56d0bccbbc623cc63705656329d9d1f34b1 100644
--- a/src/managesieve/managesieve-client.c
+++ b/src/managesieve/managesieve-client.c
@@ -785,6 +785,7 @@ int client_output(struct client *client)
 void clients_destroy_all(void)
 {
 	while (managesieve_clients != NULL) {
+		mail_storage_service_io_activate_user(managesieve_clients->service_user);
 		client_send_bye(managesieve_clients, "Server shutting down.");
 		client_destroy(managesieve_clients, "Server shutting down.");
 	}