diff --git a/CHANGES b/CHANGES
index 4278d01..5e8fac1 100644
--- a/CHANGES
+++ b/CHANGES
@@ -7,6 +7,21 @@
                                History of Changes
 
 
+Daniel (7 February 2001)
+- SM found a flaw in the response reading function for FTP that could make
+  libcurl not get out of the loop properly when it should, if libcurl got -1
+  returned when reading the socket.
+
+- I found a similar mistake in http.c when using a proxy and reading the
+  results from the proxy connection.
+
+Daniel (6 February 2001)
+- A friendly person named "SM" (nntp at iname.com) pointed out that the VC
+  makefile in src/ needed the libpath set for the debug build to work.
+
+- Daniel Gehriger stepped in to assist with the VC++ stuff Robert Weaver
+  brought up yesterday.
+
 Daniel (5 February 2001)
 - Jun-ichiro itojun Hagino brought a big patch that brings IPv6-awareness to
   a bunch of different areas within libcurl.
@@ -14,13 +29,15 @@
 - Robert Weaver told me about the problems the MS VC++ 6.0 compiler has with
   the 'static' keyword on a number of libcurl functions. I might need to add a
   patch that redefines static when libcurl is compiled with that compiler.
+  How do I know when VC++ compiles, anyone?
 
 Daniel (4 February 2001)
 - curl_getinfo() was extended with two new options:
   CURLINFO_CONTENT_LENGTH_DOWNLOAD and CURLINFO_CONTENT_LENGTH_UPLOAD. They
   return the full assumed content length of the transfer in the given
   direction. The CURLINFO_CONTENT_LENGTH_DOWNLOAD will be the Content-Length:
-  size of a HTTP download. Added descriptions to the man page as well.
+  size of a HTTP download. Added descriptions to the man page as well. This
+  was done after discussions with Bob Schader.
 
 Daniel (3 February 2001)
 - Ingo Ralf Blum provided another fix that makes curl build under the more
@@ -31,8 +48,9 @@
 
 Daniel (31 January 2001)
 - Curl_read() and curl_read() now return a ssize_t for the size, as it had to
-  be able to return -1. The telnet support crashed due to this and there was
-  a possibility to weird behaviour all over.
+  be able to return -1. The telnet support crashed due to this and there was a
+  possibility to weird behaviour all over. Linus Nielsen Feltzing helped me
+  find this.
 
 - Added a configure.in check for a working getaddrinfo() if IPv6 is requested.
   I also made the configure script feature --enable-debug which sets a couple
diff --git a/acconfig.h b/acconfig.h
index 817ecc7..1ec870a 100644
--- a/acconfig.h
+++ b/acconfig.h
@@ -39,3 +39,7 @@
 
 /* Define if you want to enable IPv6 support */
 #undef ENABLE_IPV6
+
+/* Define this to 'int' if ssize_t is not an available typedefed type */
+#undef ssize_t
+
diff --git a/configure.in b/configure.in
index de707cd..91409d1 100644
--- a/configure.in
+++ b/configure.in
@@ -659,6 +659,9 @@
 # check for 'long long'
 AC_CHECK_SIZEOF(long long, 4)
 
+# check for ssize_t
+AC_CHECK_TYPE(ssize_t, int)
+
 dnl Get system canonical name
 AC_CANONICAL_HOST
 AC_DEFINE_UNQUOTED(OS, "${host}")
diff --git a/docs/MANUAL b/docs/MANUAL
index 356cb18..5f7051e 100644
--- a/docs/MANUAL
+++ b/docs/MANUAL
@@ -735,15 +735,14 @@
         curl telnet://remote.server.com
 
   And enter the data to pass to the server on stdin. The result will be sent
-  stdout or to the file you specify with -o.
+  to stdout or to the file you specify with -o.
 
   You might want the -N/--no-buffer option to switch off the buffered output
-  for slow connections or if the output from the remote site is slow and/or
-  without newlines.
+  for slow connections or similar.
 
   NOTE: the telnet protocol does not specify any way to login with a specified
-  user and password and thus curl can't do that automatically. To do that, you
-  need to track when the login prompt is received and send the username and
+  user and password so curl can't do that automatically. To do that, you need
+  to track when the login prompt is received and send the username and
   password accordingly.
 
 MAILING LIST
diff --git a/include/curl/curl.h b/include/curl/curl.h
index 4e90bfe..b69ea1e 100644
--- a/include/curl/curl.h
+++ b/include/curl/curl.h
@@ -452,7 +452,7 @@
 char *curl_version(void);
 
 /* This is the version number */
-#define LIBCURL_VERSION "7.6.1-pre2"
+#define LIBCURL_VERSION "7.6.1-pre3"
 #define LIBCURL_VERSION_NUM 0x070601
 
 /* linked-list structure for the CURLOPT_QUOTE option (and other) */
diff --git a/lib/ftp.c b/lib/ftp.c
index 123f8df..a8ef166 100644
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -282,6 +282,8 @@
          */
         if(CURLE_OK != Curl_read(conn, sockfd, ptr, 1, &keepon))
           keepon = FALSE;
+        else if(keepon < 0)
+          error = SELECT_ERROR;
         else if ((*ptr == '\n') || (*ptr == '\r'))
           keepon = FALSE;
       }
diff --git a/src/version.h b/src/version.h
index 7457c7c..b7c1dc9 100644
--- a/src/version.h
+++ b/src/version.h
@@ -1,3 +1,3 @@
 #define CURL_NAME "curl"
-#define CURL_VERSION "7.6.1-pre2"
+#define CURL_VERSION "7.6.1-pre3"
 #define CURL_ID CURL_NAME " " CURL_VERSION " (" OS ") "
