diff --git a/cryptography/hazmat/bindings/openssl/backend.py b/cryptography/hazmat/bindings/openssl/backend.py
index 32adfed..b610caa 100644
--- a/cryptography/hazmat/bindings/openssl/backend.py
+++ b/cryptography/hazmat/bindings/openssl/backend.py
@@ -135,7 +135,9 @@
             raise UnsupportedAlgorithm
 
         evp_cipher = adapter(self._backend, cipher, mode)
-        assert evp_cipher != self._backend.ffi.NULL
+        if evp_cipher == self._backend.ffi.NULL:
+            raise UnsupportedAlgorithm
+
         if isinstance(mode, interfaces.ModeWithInitializationVector):
             iv_nonce = mode.initialization_vector
         elif isinstance(mode, interfaces.ModeWithNonce):
diff --git a/tests/hazmat/bindings/test_openssl.py b/tests/hazmat/bindings/test_openssl.py
index 9ce882e..fcd54dd 100644
--- a/tests/hazmat/bindings/test_openssl.py
+++ b/tests/hazmat/bindings/test_openssl.py
@@ -11,11 +11,15 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+import binascii
+
 import pytest
 
-from cryptography.hazmat.bindings.openssl.backend import backend
-from cryptography.hazmat.primitives.block.ciphers import AES
-from cryptography.hazmat.primitives.block.modes import CBC
+from cryptography.exceptions import UnsupportedAlgorithm
+from cryptography.hazmat.bindings.openssl.backend import backend, Backend
+from cryptography.hazmat.primitives.block import BlockCipher
+from cryptography.hazmat.primitives.block.ciphers import AES, TripleDES
+from cryptography.hazmat.primitives.block.modes import CBC, ECB
 
 
 class TestOpenSSL(object):
@@ -39,3 +43,15 @@
     def test_register_duplicate_cipher_adapter(self):
         with pytest.raises(ValueError):
             backend.ciphers.register_cipher_adapter(AES, CBC, None)
+
+    def test_nonexistant_cipher(self):
+        b = Backend()
+        # TODO: this test assumes that 3DES-ECB doesn't exist
+        b.ciphers.register_cipher_adapter(
+            TripleDES, ECB, lambda backend, cipher, mode: backend.ffi.NULL
+        )
+        cipher = BlockCipher(
+            TripleDES(binascii.unhexlify(b"0" * 16)), ECB(), backend=b
+        )
+        with pytest.raises(UnsupportedAlgorithm):
+            cipher.encryptor()
