diff --git a/mongoose.c b/mongoose.c
index 025c4516432178a1dbc30d6d612694ec1a4bb3a4..719be500aeab73587feb915ac4c05e15e1fe5ded 100644
--- a/mongoose.c
+++ b/mongoose.c
@@ -3613,6 +3613,7 @@ void mg_destroy_server(struct mg_server **server) {
   struct ll *lp, *tmp;
 
   if (server != NULL && *server != NULL) {
+    mg_poll_server(*server, 0);
     closesocket((*server)->listening_sock);
     closesocket((*server)->ctl[0]);
     closesocket((*server)->ctl[1]);