diff --git a/lib/transfer.c b/lib/transfer.c
index ba83a26b08a122d7984d4ca8e22fad4696334abb..3c1b52a21ad9db9037f1803895a262f14c8a617d 100644
--- a/lib/transfer.c
+++ b/lib/transfer.c
@@ -287,7 +287,7 @@ CURLcode Curl_readwrite(struct connectdata *conn,
     fd_write = CURL_SOCKET_BAD;
 
   select_res = Curl_select(fd_read, fd_write, 0);
-  if(select_res & CSELECT_ERR) {
+  if(select_res == CSELECT_ERR) {
     failf(data, "select/poll returned error");
     return CURLE_SEND_ERROR;
   }