diff --git a/lib/sendf.c b/lib/sendf.c
index ed36ea95d2456ce734868f8d2ce84b581ef52a02..add8af9ef8f38a90b964b4929593231eefc6474b 100644
--- a/lib/sendf.c
+++ b/lib/sendf.c
@@ -347,10 +347,8 @@ int Curl_read(struct connectdata *conn,
         break;
       case SSL_ERROR_WANT_READ:
       case SSL_ERROR_WANT_WRITE:
-        /* if there's data pending, then we re-invoke SSL_read() */
-        if(SSL_pending(conn->ssl.handle))
-          return -1; /* basicly EWOULDBLOCK */
-        break;
+        /* there's data pending, re-invoke SSL_read() */
+        return -1; /* basicly EWOULDBLOCK */
       default:
         failf(conn->data, "SSL read error: %d", err);
         return CURLE_RECV_ERROR;