diff --git a/CHANGES b/CHANGES
index f1f2f4680823e926d1ca5cb2e9d5efc5f2745eb7..7a82b70e54f2850d8c6bbd53436471ae7cb2cf76 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,10 @@
 
                                   Changelog
 
+Daniel Fandrich (30 Jan 2009)
+- Fixed --disable-proxy for FTP and SOCKS. Thanks to Daniel Egger for
+  reporting.
+
 Yang Tse (29 Jan 2009)
 - Introduced curl_sspi.c and curl_sspi.h for the implementation of functions
   Curl_sspi_global_init() and Curl_sspi_global_cleanup() which previously were
diff --git a/lib/ftp.c b/lib/ftp.c
index 66933d67342a13743d55e6d7220221122f8f6ca1..0723abe7eb35c1e476d4da44989804b39e852a28 100644
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -1901,7 +1901,7 @@ static CURLcode ftp_state_pasv_resp(struct connectdata *conn,
     result = CURLE_COULDNT_CONNECT;
     break;
   }
-#ifndef CURL_DISABLE_HTTP
+#if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_PROXY)
   if(conn->bits.tunnel_proxy && conn->bits.httpproxy) {
     /* FIX: this MUST wait for a proper connect first if 'connected' is
      * FALSE */
@@ -1927,7 +1927,7 @@ static CURLcode ftp_state_pasv_resp(struct connectdata *conn,
     if(CURLE_OK != result)
       return result;
   }
-#endif   /* CURL_DISABLE_HTTP */
+#endif /* !CURL_DISABLE_HTTP && !CURL_DISABLE_PROXY */
 
   state(conn, FTP_STOP); /* this phase is completed */
 
@@ -3060,7 +3060,7 @@ static CURLcode ftp_connect(struct connectdata *conn,
 
   ftpc->response_time = RESP_TIMEOUT; /* set default response time-out */
 
-#ifndef CURL_DISABLE_HTTP
+#if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_PROXY)
   if(conn->bits.tunnel_proxy && conn->bits.httpproxy) {
     /* BLOCKING */
     /* We want "seamless" FTP operations through HTTP proxy tunnel */
@@ -3083,7 +3083,7 @@ static CURLcode ftp_connect(struct connectdata *conn,
     if(CURLE_OK != result)
       return result;
   }
-#endif   /* CURL_DISABLE_HTTP */
+#endif /* !CURL_DISABLE_HTTP && !CURL_DISABLE_PROXY */
 
   if(conn->protocol & PROT_FTPS) {
     /* BLOCKING */
diff --git a/lib/socks_gssapi.c b/lib/socks_gssapi.c
index cd9e1a4d32de8a853e4cb3b207936e3f89996430..d948168d436bd9ba13d24fac3ee173cac6c9d6f9 100644
--- a/lib/socks_gssapi.c
+++ b/lib/socks_gssapi.c
@@ -23,6 +23,8 @@
 
 #include "setup.h"
 
+#ifndef CURL_DISABLE_PROXY
+
 #ifdef HAVE_GSSAPI
 #ifdef HAVE_OLD_GSSMIT
 #define GSS_C_NT_HOSTBASED_SERVICE gss_nt_service_name
@@ -545,3 +547,5 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
   return CURLE_OK;
 }
 #endif
+
+#endif /* CURL_DISABLE_PROXY */