diff --git a/lib/sendf.c b/lib/sendf.c
index 896e42c682e5d259ccd96ea52955584a0e7a0bbe..69366f29eafa1396a2bc8e24e204545200459ed2 100644
--- a/lib/sendf.c
+++ b/lib/sendf.c
@@ -238,7 +238,7 @@ CURLcode Curl_write(struct connectdata *conn,
     int err;
     char error_buffer[120]; /* OpenSSL documents that this must be at least
                                120 bytes long. */
-    int sslerror;
+    unsigned long sslerror;
     int rc = SSL_write(conn->ssl[num].handle, mem, len);
 
     if(rc < 0) {
@@ -394,7 +394,7 @@ int Curl_read(struct connectdata *conn, /* connection data */
         {
           char error_buffer[120]; /* OpenSSL documents that this must be at
                                      least 120 bytes long. */
-          int sslerror = ERR_get_error();
+          unsigned long sslerror = ERR_get_error();
           failf(conn->data, "SSL read: %s, errno %d",
                 ERR_error_string(sslerror, error_buffer),
                 Curl_ourerrno() );