diff --git a/Yesod/WebSockets.hs b/Yesod/WebSockets.hs
--- a/Yesod/WebSockets.hs
+++ b/Yesod/WebSockets.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP                   #-}
 {-# LANGUAGE FlexibleContexts      #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
 module Yesod.WebSockets
@@ -46,7 +47,12 @@
 webSockets inner = do
     req <- Y.waiRequest
     when (WaiWS.isWebSocketsReq req) $
-        Y.sendRawResponseNoConduit $ \src sink -> control $ \runInIO -> WaiWS.runWebSockets
+#if MIN_VERSION_wai(3, 0, 0)
+        Y.sendRawResponseNoConduit
+#else
+        Y.sendRawResponse
+#endif
+          $ \src sink -> control $ \runInIO -> WaiWS.runWebSockets
             WS.defaultConnectionOptions
             (WaiWS.getRequestHead req)
             (\pconn -> do
diff --git a/yesod-websockets.cabal b/yesod-websockets.cabal
--- a/yesod-websockets.cabal
+++ b/yesod-websockets.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                yesod-websockets
-version:             0.1.1
+version:             0.1.1.1
 synopsis:            WebSockets support for Yesod
 description:         WebSockets support for Yesod
 homepage:            https://github.com/yesodweb/yesod
@@ -17,6 +17,10 @@
 library
   exposed-modules:     Yesod.WebSockets
   build-depends:       base              >= 4.5 && < 5
+
+                     -- Just for CPP macro
+                     , wai
+
                      , wai-websockets    >= 2.1
                      , websockets        >= 0.8
                      , transformers      >= 0.2
