diff --git a/lib/smtp.c b/lib/smtp.c
index 6cd8d0bf17092eb4e7dd08f96eeb88578526b5c5..a3014be504ff9e74bbc3d4c064fe217e3b729b9e 100644
--- a/lib/smtp.c
+++ b/lib/smtp.c
@@ -1457,7 +1457,7 @@ static CURLcode smtp_done(struct connectdata *conn, CURLcode status,
   struct SMTP *smtp = data->state.proto.smtp;
   struct pingpong *pp = &conn->proto.smtpc.pp;
   const char *eob;
-  size_t len;
+  ssize_t len;
   ssize_t bytes_written;
 
   (void)premature;