diff --git a/src/net/listen.c b/src/net/listen.c
index a31deb4425083a4274d3bd33b79f796b34d8f341..01389c300c467881a113920f753388ba11d44bd0 100644
--- a/src/net/listen.c
+++ b/src/net/listen.c
@@ -378,6 +378,7 @@ handle_disconnected_client(struct lkt_state *srv, size_t c)
     struct lkt_client *cli = &srv->clients[c - 1];
     for (size_t i = 0; i < cli->buffer_out_len; i++)
         lkt_message_free(cli->buffer_out[i]);
+    cli->buffer_out_len = 0;
 }
 
 static int