diff --git a/CHANGES b/CHANGES
index 2500119e097ae0884a6a8df90394f6321ff7539b..3ae8c0635111f189abcb9d29adf19ae4ddabf3da 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,10 @@
 
                                   Changelog
 
+Daniel Stenberg (2 Sep 2009)
+- Daniel Johnson founded a flaw in the code convering sftp-errors to libcurl
+  errors.
+
 Daniel Stenberg (1 Sep 2009)
 - Peter Sylvester made a debug featuer for Curl_resolv() that now will force
   libcurl to resolve 'localhost' whatever name you use in the URL *if* you set
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index bf7e094dd47fd2da230bc664faaba900074e8524..d2eb90104ae9190178dc87781c90af914694891f 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -36,6 +36,6 @@ This release would not have looked like this without help, code, reports and
 advice from friends like these:
 
  Karl Moerder, Kamil Dudka, Krister Johansen, Andre Guibert de Bruet,
- Michal Marek, Eric Wong, Guenter Knauf, Peter Sylvester
+ Michal Marek, Eric Wong, Guenter Knauf, Peter Sylvester, Daniel Johnson
 
         Thanks! (and sorry if I forgot to mention someone)
diff --git a/lib/ssh.c b/lib/ssh.c
index 01d03532265275751da0132d0876e9ebf8a1d7d1..a6d379f79f234790df0f10c862e24591c5d58014 100644
--- a/lib/ssh.c
+++ b/lib/ssh.c
@@ -230,15 +230,12 @@ kbd_callback(const char *name, int name_len, const char *instruction,
   (void)abstract;
 } /* kbd_callback */
 
-static CURLcode sftp_libssh2_error_to_CURLE(unsigned long err)
+static CURLcode sftp_libssh2_error_to_CURLE(int err)
 {
   switch (err) {
     case LIBSSH2_FX_OK:
       return CURLE_OK;
 
-    case LIBSSH2_ERROR_ALLOC:
-      return CURLE_OUT_OF_MEMORY;
-
     case LIBSSH2_FX_NO_SUCH_FILE:
     case LIBSSH2_FX_NO_SUCH_PATH:
       return CURLE_REMOTE_FILE_NOT_FOUND;