diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 3.3.4
+
+* Setting isSecure of HTTP/2 correctly.
+
 ## 3.3.3
 
 * Calling setOnException in HTTP/2.
diff --git a/Network/Wai/Handler/Warp/HTTP2.hs b/Network/Wai/Handler/Warp/HTTP2.hs
--- a/Network/Wai/Handler/Warp/HTTP2.hs
+++ b/Network/Wai/Handler/Warp/HTTP2.hs
@@ -24,8 +24,8 @@
 
 ----------------------------------------------------------------
 
-http2 :: Connection -> InternalInfo -> SockAddr -> S.Settings -> (BufSize -> IO ByteString) -> Application -> IO ()
-http2 conn ii addr settings readN app =
+http2 :: Connection -> Transport -> InternalInfo -> SockAddr -> S.Settings -> (BufSize -> IO ByteString) -> Application -> IO ()
+http2 conn transport ii addr settings readN app =
     H2.run conf http2server
   where
     conf = H2.Config {
@@ -63,12 +63,13 @@
                 logResponse h2rsp' req
         return ()
 
-    toWAIRequest h2req aux = toRequest ii settings addr hdr bdylen bdy th
+    toWAIRequest h2req aux = toRequest ii settings addr hdr bdylen bdy th secure
       where
         !hdr = H2.requestHeaders h2req
         !bdy = H2.getRequestBodyChunk h2req
         !bdylen = H2.requestBodySize h2req
         !th = H2.auxTimeHandle aux
+        !secure = isTransportSecure transport
 
     logResponse h2rsp req = logger req st msiz
       where
diff --git a/Network/Wai/Handler/Warp/HTTP2/Request.hs b/Network/Wai/Handler/Warp/HTTP2/Request.hs
--- a/Network/Wai/Handler/Warp/HTTP2/Request.hs
+++ b/Network/Wai/Handler/Warp/HTTP2/Request.hs
@@ -26,19 +26,19 @@
 import qualified Network.Wai.Handler.Warp.Settings as S (Settings, settingsNoParsePath)
 import Network.Wai.Handler.Warp.Types
 
-type ToReq = (TokenHeaderList,ValueTable) -> Maybe Int -> IO ByteString -> T.Handle -> IO Request
+type ToReq = (TokenHeaderList,ValueTable) -> Maybe Int -> IO ByteString -> T.Handle -> Bool -> IO Request
 
 ----------------------------------------------------------------
 
 toRequest :: InternalInfo -> S.Settings -> SockAddr -> ToReq
-toRequest ii settings addr ht bodylen body th = do
+toRequest ii settings addr ht bodylen body th secure = do
     ref <- newIORef Nothing
-    toRequest' ii settings addr ref ht bodylen body th
+    toRequest' ii settings addr ref ht bodylen body th secure
 
 toRequest' :: InternalInfo -> S.Settings -> SockAddr
            -> IORef (Maybe HTTP2Data)
            -> ToReq
-toRequest' ii settings addr ref (reqths,reqvt) bodylen body th = return req
+toRequest' ii settings addr ref (reqths,reqvt) bodylen body th secure = return req
   where
     !req = Request {
         requestMethod = colonMethod
@@ -48,7 +48,7 @@
       , rawQueryString = query
       , queryString = H.parseQuery query
       , requestHeaders = headers
-      , isSecure = True
+      , isSecure = secure
       , remoteHost = addr
       , requestBody = body
       , vault = vaultValue
diff --git a/Network/Wai/Handler/Warp/Run.hs b/Network/Wai/Handler/Warp/Run.hs
--- a/Network/Wai/Handler/Warp/Run.hs
+++ b/Network/Wai/Handler/Warp/Run.hs
@@ -344,7 +344,7 @@
         let recvN = wrappedRecvN th istatus (settingsSlowlorisSize settings) rawRecvN
         -- fixme: origAddr
         checkTLS
-        http2 conn ii origAddr settings recvN app
+        http2 conn transport ii origAddr settings recvN app
       else do
         src <- mkSource (wrappedRecv conn th istatus (settingsSlowlorisSize settings))
         writeIORef istatus True
diff --git a/warp.cabal b/warp.cabal
--- a/warp.cabal
+++ b/warp.cabal
@@ -1,5 +1,5 @@
 Name:                warp
-Version:             3.3.3
+Version:             3.3.4
 Synopsis:            A fast, light-weight web server for WAI applications.
 License:             MIT
 License-file:        LICENSE
