diff --git a/src/xpdev/sockwrap.c b/src/xpdev/sockwrap.c
index 49ede47b827a7410fd6af36efc1258f95ff335ab..939fca77c7b3dcb4d035c13d89ea999fb2f2cf10 100644
--- a/src/xpdev/sockwrap.c
+++ b/src/xpdev/sockwrap.c
@@ -217,7 +217,7 @@ BOOL socket_check(SOCKET sock, BOOL* rd_p, BOOL* wr_p, DWORD timeout)
 			return(TRUE);
 	}
 
-	if(rd_p !=NULL)  {
+	if(rd_p !=NULL || wr_p==NULL)  {
 		rd=recv(sock,&ch,1,MSG_PEEK);
 		if(rd==1 
 			|| (rd==SOCKET_ERROR && ERROR_VALUE==EMSGSIZE)) {
@@ -229,5 +229,3 @@ BOOL socket_check(SOCKET sock, BOOL* rd_p, BOOL* wr_p, DWORD timeout)
 
 	return(FALSE);
 }
-
-