diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 0.4.14
+
+* Ignore empty `http_proxy` [#128](https://github.com/snoyberg/http-client/pull/128)
+
 ## 0.4.13
 
 * Support for auth via url [#124](https://github.com/snoyberg/http-client/pull/124)
diff --git a/Network/HTTP/Client/Manager.hs b/Network/HTTP/Client/Manager.hs
--- a/Network/HTTP/Client/Manager.hs
+++ b/Network/HTTP/Client/Manager.hs
@@ -486,11 +486,8 @@
 envHelper name eh = do
     env <- getEnvironment
     case lookup (T.unpack name) env of
-        Nothing -> return $
-            case eh of
-                EHFromRequest -> id
-                EHNoProxy     -> \req -> req { proxy = Nothing }
-                EHUseProxy p  -> \req -> req { proxy = Just p  }
+        Nothing  -> return noEnvProxy
+        Just ""  -> return noEnvProxy
         Just str -> do
             let invalid = throwIO $ InvalidProxyEnvironmentVariable name (T.pack str)
             p <- maybe invalid return $ do
@@ -517,3 +514,7 @@
 
                 Just $ Proxy (S8.pack $ U.uriRegName auth) port
             return $ \req -> req { proxy = Just p }
+    where noEnvProxy = case eh of
+            EHFromRequest -> id
+            EHNoProxy     -> \req -> req { proxy = Nothing }
+            EHUseProxy p  -> \req -> req { proxy = Just p  }
diff --git a/http-client.cabal b/http-client.cabal
--- a/http-client.cabal
+++ b/http-client.cabal
@@ -1,5 +1,5 @@
 name:                http-client
-version:             0.4.13
+version:             0.4.14
 synopsis:            An HTTP client engine, intended as a base layer for more user-friendly packages.
 description:         Hackage documentation generation is not reliable. For up to date documentation, please see: <http://www.stackage.org/package/http-client>.
 homepage:            https://github.com/snoyberg/http-client
