diff --git a/AWS/EC2/Query.hs b/AWS/EC2/Query.hs
--- a/AWS/EC2/Query.hs
+++ b/AWS/EC2/Query.hs
@@ -79,10 +79,11 @@
     ctx <- State.get
     (src1, rid) <- lift $ E.handle exceptionTransform $ do
         response <- requestQuery settings ctx action params' apiVersion sinkError
-        res <- response $=+ XmlP.parseBytes XmlP.def
-        res $$++ sinkRequestId
+        response
+            $=+ XmlP.parseBytes XmlP.def
+            $$++ sinkRequestId
     State.put ctx{lastRequestId = rid}
-    lift $ src1 $=+ (cond >> nextToken)
+    return $ src1 $=+ (cond >> nextToken)
   where
     params' = ("NextToken" |=? token) : params
 
diff --git a/AWS/Lib/Query.hs b/AWS/Lib/Query.hs
--- a/AWS/Lib/Query.hs
+++ b/AWS/Lib/Query.hs
@@ -12,7 +12,9 @@
     , (|=), (|.)
     , (|=?), (|.?)
     , (|.#=), (|.#.)
+#if !MIN_VERSION_conduit(1,0,16)
     , ($=+)
+#endif
     , requestQuery
     , commonQuery
     , exceptionTransform
@@ -31,7 +33,9 @@
 import Data.Monoid
 import Data.XML.Types (Event(..))
 import Data.Conduit
+#if !MIN_VERSION_conduit(1,0,16)
 import qualified Data.Conduit.Internal as CI
+#endif
 import qualified Network.HTTP.Conduit as HTTP
 import qualified Text.XML.Stream.Parse as XmlP
 import Text.XML.Stream.Parse (XmlException)
@@ -41,11 +45,7 @@
 import Data.Map (Map)
 import Network.HTTP.Conduit (HttpException)
 import qualified Network.HTTP.Types as H
-#if MIN_VERSION_tls(1,2,0)
 import Network.TLS (TLSException)
-#else
-import Network.TLS (HandshakeFailed)
-#endif
 import qualified Data.Digest.Pure.SHA as SHA
 import qualified Data.ByteString.Base64 as BASE
 import Control.Monad.IO.Class (MonadIO, liftIO)
@@ -214,13 +214,13 @@
 clientError status rsrc errSink =
     rsrc $$+- XmlP.parseBytes XmlP.def =$ errSink status
 
+#if !MIN_VERSION_conduit(1,0,16)
 ($=+) :: MonadIO m
     => ResumableSource m a
     -> Conduit a m b
     -> m (ResumableSource m b)
-a $=+ b = do
-    (sa, fa) <- unwrapResumable a
-    return $ CI.ResumableSource (sa $= b) fa
+CI.ResumableSource src final $=+ cond = CI.ResumableSource (src $= conduit) final
+#endif
 
 requestQuery
     :: (MonadResource m, MonadBaseControl IO m)
@@ -247,9 +247,9 @@
     let st = H.statusCode $ HTTP.responseStatus response
     if st < 400
 #ifdef DEBUG
-        then body $=+ conduitLog "aws-sdk.log" url
+        then return $ body $=+ conduitLog "aws-sdk.log" url
         else do
-            body' <- body $=+ conduitLog "aws-sdk-error.log" url
+            let body' = body $=+ conduitLog "aws-sdk-error.log" url
             clientError st body' $ errSink action
             fail "not reached"
 #else
@@ -309,9 +309,5 @@
     awse = fromException e :: Maybe AWSException
     xmle = fromException e :: Maybe XmlException
     httpe = fromException e :: Maybe HttpException
-#if MIN_VERSION_tls(1,2,0)
     tlse  = fromException e :: Maybe TLSException
-#else
-    tlse  = fromException e :: Maybe HandshakeFailed
-#endif
     ioe   = fromException e :: Maybe IOException
diff --git a/aws-sdk.cabal b/aws-sdk.cabal
--- a/aws-sdk.cabal
+++ b/aws-sdk.cabal
@@ -1,5 +1,5 @@
 name:                aws-sdk
-version:             0.12.2
+version:             0.12.3
 synopsis:            AWS SDK for Haskell
 description: AWS (Amazon Web Services) sdk for Haskell.
              .
