diff --git a/Network/HTTP2/TLS/Client.hs b/Network/HTTP2/TLS/Client.hs
--- a/Network/HTTP2/TLS/Client.hs
+++ b/Network/HTTP2/TLS/Client.hs
@@ -49,11 +49,11 @@
 import Network.Socket
 import Network.TLS hiding (HostName)
 import qualified UnliftIO.Exception as E
+import Network.Run.TCP
 
 import Network.HTTP2.TLS.Client.Settings
 import Network.HTTP2.TLS.Config
 import Network.HTTP2.TLS.IO
-import Network.HTTP2.TLS.Internal (gclose)
 import qualified Network.HTTP2.TLS.Server.Settings as Server
 import Network.HTTP2.TLS.Supported
 
@@ -108,16 +108,13 @@
     -> (Context -> SockAddr -> SockAddr -> IO a)
     -> IO a
 runTLSWithConfig cliconf settings serverName port alpn action =
-    E.bracket open gclose $ \sock -> do
+    runTCPClient serverName (show port) $ \sock -> do
         mysa <- getSocketName sock
         peersa <- getPeerName sock
         E.bracket (contextNew sock params) bye $ \ctx -> do
             handshake ctx
             action ctx mysa peersa
   where
-    open :: IO Socket
-    open = openTCP (settingsAddrInfoFlags settings) serverName port
-
     -- TLS client parameters
     params :: ClientParams
     params =
@@ -142,14 +139,12 @@
 -- | Running an HTTP\/2 client over TCP.
 runH2CWithConfig :: ClientConfig -> HostName -> PortNumber -> Client a -> IO a
 runH2CWithConfig cliconf serverName port client =
-    E.bracket open close $ \sock -> do
+    runTCPClient serverName (show port) $ \sock -> do
         mysa <- getSocketName sock
         peersa <- getPeerName sock
         recv <- mkRecvTCP Server.defaultSettings sock
         run' cliconf' (sendTCP sock) recv mysa peersa client
   where
-    open = openTCP (settingsAddrInfoFlags defaultSettings) serverName port
-
     cliconf' :: ClientConfig
     cliconf' = cliconf{H2Client.scheme = "http"}
 
@@ -199,23 +194,6 @@
 -- 'Authority' is simply equal to the 'ServerName'.
 defaultAuthority :: HostName -> Authority
 defaultAuthority = id
-
-openTCP :: [AddrInfoFlag] -> HostName -> PortNumber -> IO Socket
-openTCP flags h p = do
-    ai <- makeAddrInfo flags h p
-    sock <- openSocket ai
-    connect sock $ addrAddress ai
-    return sock
-
-makeAddrInfo :: [AddrInfoFlag] -> HostName -> PortNumber -> IO AddrInfo
-makeAddrInfo flags nh p = do
-    let hints =
-            defaultHints
-                { addrFlags = flags
-                , addrSocketType = Stream
-                }
-    let np = show p
-    head <$> getAddrInfo (Just hints) (Just nh) (Just np)
 
 ----------------------------------------------------------------
 
diff --git a/Network/HTTP2/TLS/Client/Settings.hs b/Network/HTTP2/TLS/Client/Settings.hs
--- a/Network/HTTP2/TLS/Client/Settings.hs
+++ b/Network/HTTP2/TLS/Client/Settings.hs
@@ -37,10 +37,7 @@
     -- 'settingsServerNameOverride' can be used to give SNI a different value
     -- than @:authority@.
     , settingsAddrInfoFlags :: [AddrInfoFlag]
-    -- ^ Flags that control the querying behaviour of @getAddrInfo@. (TLS and H2)
-    --
-    -- >>> settingsAddrInfoFlags defaultSettings
-    -- []
+    -- ^ Obsoleted.
     , settingsCacheLimit :: Int
     -- ^ How many pushed responses are contained in the cache (H2 and H2c)
     --
diff --git a/Network/HTTP2/TLS/Internal.hs b/Network/HTTP2/TLS/Internal.hs
--- a/Network/HTTP2/TLS/Internal.hs
+++ b/Network/HTTP2/TLS/Internal.hs
@@ -1,17 +1,5 @@
-{-# LANGUAGE CPP #-}
-
 module Network.HTTP2.TLS.Internal (
     module Network.HTTP2.TLS.IO,
-    gclose,
 ) where
 
-import Network.Socket
-
 import Network.HTTP2.TLS.IO
-
-gclose :: Socket -> IO ()
-#if MIN_VERSION_network(3,1,1)
-gclose sock = gracefulClose sock 5000
-#else
-gclose = close
-#endif
diff --git a/http2-tls.cabal b/http2-tls.cabal
--- a/http2-tls.cabal
+++ b/http2-tls.cabal
@@ -1,6 +1,6 @@
 cabal-version: >=1.10
 name:          http2-tls
-version:       0.2.8
+version:       0.2.9
 license:       BSD3
 license-file:  LICENSE
 maintainer:    Kazu Yamamoto <kazu@iij.ad.jp>
@@ -46,7 +46,7 @@
         network >=3.1.4,
         time-manager >=0.0.1 && <0.1,
         unliftio >=0.2 && <0.3,
-        network-run >=0.2.6 && <0.3,
+        network-run >=0.2.8 && <0.3,
         network-control >=0.1 && <0.2,
         recv >=0.1.0 && <0.2,
         utf8-string >=1.0 && <1.1
