diff --git a/lib/service.c b/lib/service.c
index 2fc05af8bef2f1180fcd4e351cf809ff5bbca0cb..6b6e289648cba071714cdeaf2b36ba61dc7b7b63 100644
--- a/lib/service.c
+++ b/lib/service.c
@@ -476,6 +476,12 @@ lws_service_fd(struct lws_context *context, struct lws_pollfd *pollfd)
 
 		goto close_and_handled;
 	}
+
+#ifdef _WIN32
+	if (pollfd->revents & LWS_POLLOUT)
+		wsi->sock_send_blocking = FALSE;
+#endif
+
 #endif
 
 	/* okay, what we came here to do... */