diff --git a/Network/Wai/Handler/WarpTLS.hs b/Network/Wai/Handler/WarpTLS.hs
--- a/Network/Wai/Handler/WarpTLS.hs
+++ b/Network/Wai/Handler/WarpTLS.hs
@@ -42,7 +42,7 @@
 import Data.Conduit.Network (sourceSocket, sinkSocket, acceptSafe)
 import Data.Maybe (fromMaybe)
 import qualified Data.IORef as I
-import Crypto.Random.API (getSystemRandomGen)
+import Crypto.Random.AESCtr (makeSystem)
 import Control.Exception (Exception, throwIO)
 import Data.Typeable (Typeable)
 import qualified Data.Conduit.Binary as CB
@@ -117,7 +117,7 @@
                     return bs
             if maybe False ((== 0x16) . fst) (firstBS >>= B.uncons)
                 then do
-                    gen <- getSystemRandomGen
+                    gen <- makeSystem
                     ctx <- TLS.contextNew
                         TLS.Backend
                             { TLS.backendFlush = return ()
diff --git a/warp-tls.cabal b/warp-tls.cabal
--- a/warp-tls.cabal
+++ b/warp-tls.cabal
@@ -1,5 +1,5 @@
 Name:                warp-tls
-Version:             1.4.1.2
+Version:             1.4.1.3
 Synopsis:            HTTP over SSL/TLS support for Warp via the TLS package
 License:             MIT
 License-file:        LICENSE
@@ -27,6 +27,7 @@
                    , tls                           >= 1.1
                    , crypto-random-api             >= 0.2
                    , network                       >= 2.2.1
+                   , cprng-aes                     >= 0.3.4
   Exposed-modules:   Network.Wai.Handler.WarpTLS
   ghc-options:       -Wall
 
