diff --git a/lib/ftp.c b/lib/ftp.c
index b3dbb0735db02fbc766f6f50c16404772181f498..8c6f465ebc3de7e789e91b685d7acd13c16767af 100644
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -1829,7 +1829,7 @@ CURLcode Curl_ftp_nextconnect(struct connectdata *conn)
               conn->maxdownload);
       }
       infof(data, "range-download from %d to %d, totally %d bytes\n",
-            from, to, totalsize);
+            from, to, conn->maxdownload);
       ftp->dont_check = TRUE; /* dont check for successful transfer */
     }
 
@@ -2041,6 +2041,9 @@ CURLcode Curl_ftp_nextconnect(struct connectdata *conn)
 	  return result;
       }
 
+      if(size > conn->maxdownload)
+        size = conn->size = conn->maxdownload;
+
       infof(data, "Getting file with size: %d\n", size);
 
       /* FTP download: */