diff --git a/CHANGES b/CHANGES
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,7 @@
+* 3000.11.1.6 (30 May 2016)
+
+  - bug fix: default port is now 80 or 443 based on protocol
+
 * 3000.11.1.5 (13 May 2016)
 
   - bug fix in parsing username & password from URI
diff --git a/Network/XmlRpc/Client.hs b/Network/XmlRpc/Client.hs
--- a/Network/XmlRpc/Client.hs
+++ b/Network/XmlRpc/Client.hs
@@ -165,14 +165,14 @@
 post_ :: URI -> URIAuth -> HeadersAList -> BSL.ByteString -> IO U.ByteString
 post_ uri auth headers content = withOpenSSL $ do
     let hostname = BS.pack (uriRegName auth)
-        port     = fromMaybe 443 (readMaybe $ drop 1 $ uriPort auth)
+        port base = fromMaybe base (readMaybe $ drop 1 $ uriPort auth)
 
     c <- case init $ uriScheme uri of
         "http"  ->
-            openConnection hostname port
+            openConnection hostname (port 80)
         "https" -> do
             ctx <- baselineContextSSL
-            openConnectionSSL ctx hostname port
+            openConnectionSSL ctx hostname (port 443)
         x -> fail ("Unknown scheme: '" ++ x ++ "'!")
 
     req  <- request uri auth headers (BSL.length content)
diff --git a/haxr.cabal b/haxr.cabal
--- a/haxr.cabal
+++ b/haxr.cabal
@@ -1,5 +1,5 @@
 Name: haxr
-Version: 3000.11.1.5
+Version: 3000.11.1.6
 Cabal-version: >=1.10
 Build-type: Simple
 Copyright: Bjorn Bringert, 2003-2006
