diff --git a/mongoose.c b/mongoose.c
index b75296856a5f42a534148f13eca9ae84ad14f77d..a1a768409fbf282b860683069d053e3bf53c3020 100644
--- a/mongoose.c
+++ b/mongoose.c
@@ -4931,7 +4931,7 @@ static void mg_ev_handler(struct ns_connection *nc, enum ns_event ev, void *p) {
 
     case NS_POLL:
       if (call_user(conn, MG_POLL) == MG_TRUE) {
-        nc->flags |= NSF_FINISHED_SENDING_DATA;
+        close_local_endpoint(conn);
       }
 
       if (conn != NULL && conn->endpoint_type == EP_FILE) {