diff --git a/bloodhound-amazonka-auth.cabal b/bloodhound-amazonka-auth.cabal
--- a/bloodhound-amazonka-auth.cabal
+++ b/bloodhound-amazonka-auth.cabal
@@ -1,5 +1,5 @@
 name:                bloodhound-amazonka-auth
-version:             0.1.1.0
+version:             0.1.2.0
 synopsis:            Adds convenient Amazon ElasticSearch Service authentication to Bloodhound.
 description:         Please see README.md
 homepage:            http://github.com/MichaelXavier/bloodhound-amazonka-auth#readme
@@ -54,7 +54,7 @@
                   , time
                   , bloodhound
                   , text
-                  , amazonka
+                  , amazonka >= 1.4.0
                   , amazonka-core
                   , http-client-tls
                   , lens
diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,7 @@
+0.1.2.0
+* Fix bug where amazonka would override user-specified timeouts.
+* Support newer versions of bloodhound.
+
 0.1.1.0
 * Worked around seemingly a bug in V4 signatures with AWS ES service with paths that needed encoding. This comes up if you make authenticated requests with index patterns, e.g. /foo*/. They would previously fail to authenticate.
 
diff --git a/src/Database/Bloodhound/Auth/Amazonka/Internal.hs b/src/Database/Bloodhound/Auth/Amazonka/Internal.hs
--- a/src/Database/Bloodhound/Auth/Amazonka/Internal.hs
+++ b/src/Database/Bloodhound/Auth/Amazonka/Internal.hs
@@ -7,7 +7,6 @@
 import           Control.Exception
 import           Data.Time.Clock
 import           Data.Typeable
-import           Database.Bloodhound.Types
 import           Network.AWS.Data.Body
 import           Network.AWS.Data.ByteString
 import           Network.AWS.Data.Path
@@ -18,7 +17,7 @@
                                               sgSign)
 import qualified Network.AWS.Types           as A
 import           Network.HTTP.Client
-import           Network.HTTP.Types.Method   (parseMethod)
+import           Network.HTTP.Types.Method   (Method, parseMethod)
 import           URI.ByteString
 -------------------------------------------------------------------------------
 
@@ -44,12 +43,13 @@
 amazonkaAuthHook' :: AuthEnv -> Region -> Request -> UTCTime -> Either EsAmazonkaAuthError Request
 amazonkaAuthHook' ae reg req now = toReq <$> toAwsRequest req reg
   where algo = sgSign (A._svcSigner elasticSearch)
-        toReq req' = decodePath (sgRequest (algo req' ae reg now))
+        toReq req' = restoreTimeout (decodePath (sgRequest (algo req' ae reg now)))
         -- We decode the path because for some reason AWS ES actually
         -- doesn't want the path url encoded. If you do, it will
         -- expect double-encoding for the canonical uri. If you
         -- double, it will expect triple and so-on.
         decodePath x = x { path = urlDecode True (path x)}
+        restoreTimeout x = x { responseTimeout = responseTimeout req }
 
 
 -------------------------------------------------------------------------------
@@ -74,7 +74,7 @@
 toQS :: ByteString -> Either EsAmazonkaAuthError A.QueryString
 toQS bs = case parseRelativeRef laxURIParserOptions bs of
             Right rr -> Right (go (rrQuery rr))
-            Left _ -> Left MalformedQueryString
+            Left _   -> Left MalformedQueryString
   where go q = QList [ QPair k (QValue (Just v)) | (k, v) <- queryPairs q]
 
 -------------------------------------------------------------------------------
@@ -97,5 +97,5 @@
 -------------------------------------------------------------------------------
 toRQBody :: RequestBody -> Either EsAmazonkaAuthError RqBody
 toRQBody (RequestBodyLBS b) = Right (toBody b)
-toRQBody (RequestBodyBS b) = Right (toBody b)
-toRQBody _ = Left StreamingBodyNotSupported
+toRQBody (RequestBodyBS b)  = Right (toBody b)
+toRQBody _                  = Left StreamingBodyNotSupported
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP                 #-}
 {-# LANGUAGE OverloadedStrings   #-}
 {-# LANGUAGE ScopedTypeVariables #-}
 module Main
@@ -14,7 +15,11 @@
 import qualified Data.Proxy                                 as P
 import qualified Data.Text                                  as T
 import           Data.Time.Clock.POSIX
+#if MIN_VERSION_bloodhound(0, 13, 0)
+import           Database.V1.Bloodhound
+#else
 import           Database.Bloodhound
+#endif
 import           Network.AWS
 import           Network.AWS.Env
 import           Network.HTTP.Client
@@ -72,7 +77,7 @@
       res <- parseEsResponse =<< runBH env (searchByIndex testIndexSplat search)
       case (res :: Either EsError (SearchResult Value)) of
         Right _ -> return ()
-        Left e -> assertFailure (show e)
+        Left e  -> assertFailure (show e)
   ]
   where
     testIndex = IndexName "bloodhound-amazonka-auth-test"
@@ -81,7 +86,7 @@
     setup = do
       mgr <- newManager tlsManagerSettings
       lgr <- newLogger Debug stdout
-      env <- set envLogger lgr<$> newEnvWith region Discover Nothing mgr
+      env <- set envRegion region . set envLogger lgr<$> newEnvWith Discover Nothing mgr
       let auth = view envAuth env
       let hook req = withAuth auth $ \authEnv -> either throwIO return =<< amazonkaAuthHook authEnv region req
       let bhe = (mkBHEnv server mgr) { bhRequestHook = hook }
@@ -118,6 +123,6 @@
 instance IsOption IntegrationServer where
   defaultValue = IntegrationServer Nothing
   parseValue "" = return (IntegrationServer Nothing)
-  parseValue s = return (IntegrationServer (Just (Server (T.pack s))))
+  parseValue s  = return (IntegrationServer (Just (Server (T.pack s))))
   optionName = return "integration-server"
   optionHelp = return "If supplied, tests against a real AWS ES cluster (fees may apply). Uses the standard amazonka methods for discovering credentials."
