diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2016-10-15  Vladimir Shabanov  <vshabanoff@gmail.com>
+
+	* HsOpenSSL.cabal (Version): Bump version to 0.11.3.1
+
+	* OpenSSL/Session.hsc: Detect failure of SSL_CTX_new,
+	by Eric Mertens @glguy (#13)
+
 2016-10-14  Vladimir Shabanov  <vshabanoff@gmail.com>
 
 	* HsOpenSSL.cabal (Version): Bump version to 0.11.3
diff --git a/HsOpenSSL.cabal b/HsOpenSSL.cabal
--- a/HsOpenSSL.cabal
+++ b/HsOpenSSL.cabal
@@ -12,7 +12,7 @@
     <http://hackage.haskell.org/package/tls>, which is a pure Haskell
     implementation of SSL.
     .
-Version:       0.11.3
+Version:       0.11.3.1
 License:       PublicDomain
 License-File:  COPYING
 Author:        Adam Langley, Mikhail Vorozhtsov, PHO, Taru Karttunen
diff --git a/OpenSSL/Session.hsc b/OpenSSL/Session.hsc
--- a/OpenSSL/Session.hsc
+++ b/OpenSSL/Session.hsc
@@ -141,7 +141,7 @@
 -- | Create a new SSL context.
 context :: IO SSLContext
 context = mask_ $ do
-  ctx   <- _ssl_method >>= _ssl_ctx_new
+  ctx   <- _ssl_method >>= _ssl_ctx_new >>= failIfNull
   cbRef <- newIORef Nothing
   mvar  <- newMVar ctx
 #if MIN_VERSION_base(4,6,0)
