address review feedback
diff --git a/docs/exceptions.rst b/docs/exceptions.rst
index b86d3ee..28da8ec 100644
--- a/docs/exceptions.rst
+++ b/docs/exceptions.rst
@@ -43,8 +43,3 @@
 
     This is raised when the verify method of a one time password function's
     computed token does not match the expected token.
-
-
-.. class:: InvalidX509Version
-
-    This is raised when an X.509 certificate has an invalid version number.
diff --git a/docs/x509.rst b/docs/x509.rst
index 2c9c0f4..ba52d91 100644
--- a/docs/x509.rst
+++ b/docs/x509.rst
@@ -6,7 +6,8 @@
 .. currentmodule:: cryptography.x509
 
 X.509 is an ITU-T standard for a `public key infrastructure`_. X.509v3 is
-defined in :rfc:`5280` (which obsoletes :rfc:`2459` and :rfc:`3280`).
+defined in :rfc:`5280` (which obsoletes :rfc:`2459` and :rfc:`3280`). X.509
+certificates are commonly used in protocols like `TLS`_.
 
 Loading
 ~~~~~~~
@@ -92,6 +93,10 @@
 
         For version 3 X.509 certificates.
 
+.. class:: InvalidX509Version
+
+    This is raised when an X.509 certificate has an invalid version number.
 
 
 .. _`public key infrastructure`: https://en.wikipedia.org/wiki/Public_key_infrastructure
+.. _`TLS`: https://en.wikipedia.org/wiki/Transport_Layer_Security
diff --git a/src/cryptography/exceptions.py b/src/cryptography/exceptions.py
index 23edcd0..b0e1a99 100644
--- a/src/cryptography/exceptions.py
+++ b/src/cryptography/exceptions.py
@@ -53,7 +53,3 @@
 
 class InvalidToken(Exception):
     pass
-
-
-class InvalidX509Version(Exception):
-    pass
diff --git a/src/cryptography/hazmat/backends/openssl/x509.py b/src/cryptography/hazmat/backends/openssl/x509.py
index 9f6f71d..6befc3c 100644
--- a/src/cryptography/hazmat/backends/openssl/x509.py
+++ b/src/cryptography/hazmat/backends/openssl/x509.py
@@ -16,7 +16,6 @@
 import datetime
 
 from cryptography import utils, x509
-from cryptography.exceptions import InvalidX509Version
 from cryptography.hazmat.primitives import hashes, interfaces
 
 
@@ -61,8 +60,8 @@
         elif version == 2:
             return x509.X509Version.v3
         else:
-            raise InvalidX509Version(
-                "{0} is not a valid X509 version", version
+            raise x509.InvalidX509Version(
+                "{0} is not a valid X509 version".format(version)
             )
 
     @property
diff --git a/src/cryptography/x509.py b/src/cryptography/x509.py
index f3c73d6..191666e 100644
--- a/src/cryptography/x509.py
+++ b/src/cryptography/x509.py
@@ -18,3 +18,7 @@
 
 def load_der_x509_certificate(data, backend):
     return backend.load_der_x509_certificate(data)
+
+
+class InvalidX509Version(Exception):
+    pass
diff --git a/tests/test_x509.py b/tests/test_x509.py
index f50a82a..df27f8d 100644
--- a/tests/test_x509.py
+++ b/tests/test_x509.py
@@ -10,7 +10,6 @@
 import pytest
 
 from cryptography import x509
-from cryptography.exceptions import InvalidX509Version
 from cryptography.hazmat.backends.interfaces import (
     DSABackend, EllipticCurveBackend, RSABackend, X509Backend
 )
@@ -43,7 +42,7 @@
                 pemfile.read(), backend
             )
         )
-        assert cert
+        assert isinstance(cert, interfaces.X509Certificate)
 
     def test_load_der_cert(self, backend):
         cert = load_vectors_from_file(
@@ -53,7 +52,7 @@
                 derfile.read(), backend
             )
         )
-        assert cert
+        assert isinstance(cert, interfaces.X509Certificate)
 
     def test_load_good_ca_cert(self, backend):
         cert = _load_der_cert("GoodCACert.crt", backend)
@@ -117,7 +116,7 @@
                 pemfile.read(), backend
             )
         )
-        with pytest.raises(InvalidX509Version):
+        with pytest.raises(x509.InvalidX509Version):
             cert.version
 
     def test_version_1_cert(self, backend):