diff --git a/src/managesieve/main.c b/src/managesieve/main.c
index 96884ad7a913a995578e7a92cc2be68a34ad9bc5..55f781195e340a40ad13939dd9afcd13768492e0 100644
--- a/src/managesieve/main.c
+++ b/src/managesieve/main.c
@@ -227,7 +227,9 @@ static void login_client_failed(const struct master_login_client *client,
 	const char *msg;
 
 	msg = t_strdup_printf("NO \"%s\"\r\n", errormsg);
-	(void)write(client->fd, msg, strlen(msg));
+	if (write(client->fd, msg, strlen(msg)) < 0) {
+		/* ignored */
+	}
 }
 
 static void client_connected(const struct master_service_connection *conn)