diff --git a/pontarius-xmpp.cabal b/pontarius-xmpp.cabal
--- a/pontarius-xmpp.cabal
+++ b/pontarius-xmpp.cabal
@@ -1,5 +1,5 @@
 Name:          pontarius-xmpp
-Version:       0.3.0.0
+Version:       0.3.0.1
 Cabal-Version: >= 1.6
 Build-Type:    Simple
 License:       BSD3
@@ -11,7 +11,7 @@
 Stability:     alpha
 Homepage:      https://github.com/pontarius/pontarius-xmpp/
 Bug-Reports:   https://github.com/pontarius/pontarius-xmpp/issues/
-Package-URL:   http://www.jonkri.com/releases/pontarius-xmpp-0.3.0.0.tar.gz
+Package-URL:   http://www.jonkri.com/releases/pontarius-xmpp-0.3.0.1.tar.gz
 Synopsis:      An XMPP client library
 Description:   Pontarius XMPP is a work in progress implementation of RFC 6120
                ("XMPP CORE"), RFC 6121 ("XMPP IM"), and RFC 6122 ("XMPP ADDR").
@@ -47,7 +47,7 @@
                , conduit              >=1.0.1
                , containers           >=0.4.0.0
                , crypto-api           >=0.9
-               , crypto-random-api    >=0.2
+               , crypto-random        >=0.0.5
                , cryptohash           >=0.6.1
                , cryptohash-cryptoapi >=0.1
                , data-default         >=0.2
@@ -64,8 +64,8 @@
                , stm                  >=2.1.2.1
                , stringprep           >=0.1.3
                , text                 >=0.11.1.5
-               , tls                  >=1.1.0
-               , tls-extra            >=0.5.0
+               , tls                  >=1.1.3
+               , tls-extra            >=0.6.0
                , transformers         >=0.2.2.0
                , void                 >=0.5.5
                , xml-types            >=0.3.1
@@ -121,4 +121,4 @@
 Source-Repository this
   Type: git
   Location: git://github.com/pontarius/pontarius-xmpp.git
-  Tag: 0.3.0.0
+  Tag: 0.3.0.1
diff --git a/source/Network/Xmpp/Tls.hs b/source/Network/Xmpp/Tls.hs
--- a/source/Network/Xmpp/Tls.hs
+++ b/source/Network/Xmpp/Tls.hs
@@ -1,25 +1,27 @@
 {-# OPTIONS_HADDOCK hide #-}
 {-# LANGUAGE DeriveDataTypeable #-}
 {-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PackageImports #-}
 
 module Network.Xmpp.Tls where
 
-import qualified Control.Exception.Lifted as Ex
-import           Control.Monad
-import           Control.Monad.Error
-import           Control.Monad.State.Strict
-import           Crypto.Random.API
-import qualified Data.ByteString as BS
-import qualified Data.ByteString.Char8 as BSC8
-import qualified Data.ByteString.Lazy as BL
-import           Data.Conduit
-import           Data.IORef
-import           Data.XML.Types
-import           Network.DNS.Resolver (ResolvConf)
-import           Network.TLS
-import           Network.Xmpp.Stream
-import           Network.Xmpp.Types
-import           System.Log.Logger (debugM, errorM, infoM)
+import                 Control.Applicative ((<$>))
+import qualified       Control.Exception.Lifted as Ex
+import                 Control.Monad
+import                 Control.Monad.Error
+import                 Control.Monad.State.Strict
+import "crypto-random" Crypto.Random
+import qualified       Data.ByteString as BS
+import qualified       Data.ByteString.Char8 as BSC8
+import qualified       Data.ByteString.Lazy as BL
+import                 Data.Conduit
+import                 Data.IORef
+import                 Data.XML.Types
+import                 Network.DNS.Resolver (ResolvConf)
+import                 Network.TLS
+import                 Network.Xmpp.Stream
+import                 Network.Xmpp.Types
+import                 System.Log.Logger (debugM, errorM, infoM)
 
 mkBackend :: StreamHandle -> Backend
 mkBackend con = Backend { backendSend = \bs -> void (streamSend con bs)
@@ -121,7 +123,7 @@
           )
 tlsinit params backend = do
     liftIO $ debugM "Pontarius.Xmpp.Tls" "TLS with debug mode enabled."
-    gen <- liftIO $ getSystemRandomGen -- TODO: Find better random source?
+    gen <- liftIO (cprgCreate <$> createEntropyPool :: IO SystemRNG)
     con <- client params gen backend
     handshake con
     let src = forever $ do
