diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -22,11 +22,11 @@
 main = do
   eitherGraph <- JS.fetchRefs JS.draft4 rawSchema H.empty
   case eitherGraph of
-    Left e  -> print e
-    Right g ->
-      case JS.compileDraft4 g rawSchema of
-        Left e2 -> print e2
-        Right a -> print $ JS.validate a invalidData
+    Left e      -> print e
+    Right graph ->
+      case JS.compileDraft4 graph rawSchema of
+        Left e2      -> print e2
+        Right schema -> print $ JS.validate schema invalidData
 
 rawSchema :: JS.RawSchema
 rawSchema = JS.RawSchema
@@ -48,14 +48,13 @@
 
     git submodule update --init
 
-# Run Tests
+# Prepare Tests
 
-    cd JSON-Schema-Test-Suite/remotes
-    python -m SimpleHTTPServer 1234
++ `cd JSON-Schema-Test-Suite/remotes
 
-Then run the normal `cabal test` from another terminal.
++ `hserv --port=1234` / `python -m SimpleHTTPServer 1234`
 
-Note that the tests require an internet connection.
+Note that the `remote` test suite requires an internet connection.
 
 # Notes
 
diff --git a/changelog.txt b/changelog.txt
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,3 +1,7 @@
+# 0.5.3
+
++ Switch from http-conduit to http-client.
+
 # 0.5.2
 
 + Add convenience function for validating and compiling draft 4 schemas
diff --git a/hjsonschema.cabal b/hjsonschema.cabal
--- a/hjsonschema.cabal
+++ b/hjsonschema.cabal
@@ -1,5 +1,5 @@
 name:                   hjsonschema
-version:                0.5.2.2
+version:                0.5.3.0
 synopsis:               JSON Schema Draft 4 library
 homepage:               https://github.com/seagreen/hjsonschema
 license:                MIT
@@ -32,7 +32,7 @@
                       , file-embed           >= 0.0.8 && < 0.0.9
                       , hashable             >= 1.2   && < 1.3
                       , hjsonpointer         >= 0.2   && < 0.3
-                      , http-conduit         >= 2.1.5 && < 2.2
+                      , http-client          >= 0.4.9 && < 0.5
                       , http-types           >= 0.8   && < 0.9
                       , regexpr              >= 0.5   && < 0.6
                       , scientific           >= 0.3   && < 0.4
diff --git a/src/Data/JsonSchema/Reference.hs b/src/Data/JsonSchema/Reference.hs
--- a/src/Data/JsonSchema/Reference.hs
+++ b/src/Data/JsonSchema/Reference.hs
@@ -3,6 +3,7 @@
 
 module Data.JsonSchema.Reference where
 
+import           Control.Applicative
 import           Control.Arrow
 import           Control.Exception
 import           Control.Monad
@@ -13,7 +14,7 @@
 import           Data.Monoid
 import           Data.Text            (Text)
 import qualified Data.Text            as T
-import           Network.HTTP.Conduit
+import           Network.HTTP.Client
 import           Prelude              hiding (foldr)
 
 combineIdAndRef :: Text -> Text -> Text
@@ -54,10 +55,14 @@
     Right b -> return . left T.pack $ eitherDecode b
 
 safeGet :: Text -> IO (Either Text ByteString)
-safeGet url =
-  catch
-    (return . Right =<< (simpleHttp . T.unpack) url)
-    handler
+safeGet url = catch (Right <$> simpleHttp') handler
   where
     handler :: SomeException -> IO (Either Text ByteString)
     handler e = return . Left . T.pack . show $ e
+
+    -- We don't want to depend on http-conduit, but Network.Http.Conduit.simpleHttp
+    -- is the model for this function. simpleHttp also sets "Connection: close".
+    simpleHttp' :: IO ByteString
+    simpleHttp' = fmap responseBody $ withManager defaultManagerSettings $ \man -> do
+      req <- parseUrl (T.unpack url)
+      httpLbs req { requestHeaders = ("Connection", "close") : requestHeaders req } man
