diff --git a/src/router.c b/src/router.c
index 41921bf..f4cf2e6 100644
--- a/src/router.c
+++ b/src/router.c
@@ -236,9 +236,12 @@ DWORD router_main(void *arg) {
 			if((len = recv(router->clients[i].sock, bstart, len, 0)) == -1) {
 				if(WSAGetLastError() == WSAEWOULDBLOCK) {
 					continue;
+				}else if(WSAGetLastError() == WSAECONNRESET) {
+					/* Treat connection reset as regular close */
+					len = 0;
+				}else{
+					log_printf("Error reading from client socket: %s", w32_error(WSAGetLastError()));
 				}
-				
-				log_printf("Error reading from client socket: %s", w32_error(WSAGetLastError()));
 			}
 			
 			if(len == -1 || len == 0) {