diff --git a/ses-html.cabal b/ses-html.cabal
--- a/ses-html.cabal
+++ b/ses-html.cabal
@@ -1,5 +1,5 @@
 name:                ses-html
-version:             0.3.0.1
+version:             0.4.0.0
 synopsis:            Send HTML formatted emails using Amazon's SES REST API with blaze
 license:             BSD3
 license-file:        LICENSE
@@ -28,7 +28,7 @@
                      , http-streams
                      , HsOpenSSL
                      , tagsoup
-                     , time == 1.5.*
+                     , time >= 1.6.0.1
 
 source-repository head
    type: git
diff --git a/src/Network/SES.hs b/src/Network/SES.hs
--- a/src/Network/SES.hs
+++ b/src/Network/SES.hs
@@ -210,16 +210,17 @@
       case result of
         Left s -> connectionError s
         Right _ -> do
-           receiveResponse con $ \resp is -> 
-               do closeConnection con
-                  if getStatusCode resp == 200 
+            sesResult <- receiveResponse con $ \resp is -> 
+                if getStatusCode resp == 200 
                     then returnSuccess
                     else do bs <- concatHandler resp is
                             let tags = parseTags bs 
                                 code = let c = getFromTagSoup "Code" tags
-                                       in fromMaybe UnknownErrorType (readMaybe (unpack c) :: Maybe SESErrorType)
+                                        in fromMaybe UnknownErrorType (readMaybe (unpack c) :: Maybe SESErrorType)
                                 sesMsg  = getFromTagSoup "Message" tags
                             return $ Error $ SESError (getStatusCode resp) code sesMsg
+            closeConnection con
+            return sesResult
   where
     getFromTagSoup x tags = let [ _, TagText d] = filterFront . filterBack $ tags 
                                 filterFront = dropWhile (/=(TagOpen x [])) 
