diff --git a/docs/hazmat/primitives/asymmetric/ec.rst b/docs/hazmat/primitives/asymmetric/ec.rst
index cf616a0..256c183 100644
--- a/docs/hazmat/primitives/asymmetric/ec.rst
+++ b/docs/hazmat/primitives/asymmetric/ec.rst
@@ -344,10 +344,10 @@
         :attr:`~cryptography.hazmat.primitives.serialization.Encoding.PEM` or
         :attr:`~cryptography.hazmat.primitives.serialization.Encoding.DER`),
         format (
-        :attr:`~cryptography.hazmat.primitives.serialization.Format.TraditionalOpenSSL`
+        :attr:`~cryptography.hazmat.primitives.serialization.PrivateFormat.TraditionalOpenSSL`
         or
-        :attr:`~cryptography.hazmat.primitives.serialization.Format.PKCS8`) and
-        encryption algorithm (such as
+        :attr:`~cryptography.hazmat.primitives.serialization.PrivateFormat.PKCS8`)
+        and encryption algorithm (such as
         :class:`~cryptography.hazmat.primitives.serialization.BestAvailableEncryption`
         or :class:`~cryptography.hazmat.primitives.serialization.NoEncryption`)
         are chosen to define the exact serialization.
@@ -356,7 +356,7 @@
             :class:`~cryptography.hazmat.primitives.serialization.Encoding` enum.
 
         :param format: A value from the
-            :class:`~cryptography.hazmat.primitives.serialization.Format` enum.
+            :class:`~cryptography.hazmat.primitives.serialization.PrivateFormat` enum.
 
         :param encryption_algorithm: An instance of an object conforming to the
             :class:`~cryptography.hazmat.primitives.serialization.KeySerializationEncryption`
diff --git a/tests/hazmat/primitives/test_ec.py b/tests/hazmat/primitives/test_ec.py
index e6cb6ce..77ee38b 100644
--- a/tests/hazmat/primitives/test_ec.py
+++ b/tests/hazmat/primitives/test_ec.py
@@ -406,8 +406,8 @@
         ("fmt", "password"),
         itertools.product(
             [
-                serialization.Format.TraditionalOpenSSL,
-                serialization.Format.PKCS8
+                serialization.PrivateFormat.TraditionalOpenSSL,
+                serialization.PrivateFormat.PKCS8
             ],
             [
                 b"s",
@@ -440,7 +440,10 @@
 
     @pytest.mark.parametrize(
         "fmt",
-        [serialization.Format.TraditionalOpenSSL, serialization.Format.PKCS8],
+        [
+            serialization.PrivateFormat.TraditionalOpenSSL,
+            serialization.PrivateFormat.PKCS8
+        ],
     )
     def test_private_bytes_unencrypted_pem(self, backend, fmt):
         _skip_curve_unsupported(backend, ec.SECP256R1())
@@ -473,7 +476,7 @@
         key = serialization.load_pem_private_key(key_bytes, None, backend)
         serialized = key.private_bytes(
             serialization.Encoding.PEM,
-            serialization.Format.TraditionalOpenSSL,
+            serialization.PrivateFormat.TraditionalOpenSSL,
             serialization.NoEncryption()
         )
         assert serialized == key_bytes
@@ -491,7 +494,7 @@
         with pytest.raises(TypeError):
             key.private_bytes(
                 "notencoding",
-                serialization.Format.PKCS8,
+                serialization.PrivateFormat.PKCS8,
                 serialization.NoEncryption()
             )
 
@@ -525,7 +528,7 @@
         with pytest.raises(TypeError):
             key.private_bytes(
                 serialization.Encoding.PEM,
-                serialization.Format.TraditionalOpenSSL,
+                serialization.PrivateFormat.TraditionalOpenSSL,
                 "notanencalg"
             )
 
@@ -542,6 +545,6 @@
         with pytest.raises(ValueError):
             key.private_bytes(
                 serialization.Encoding.PEM,
-                serialization.Format.TraditionalOpenSSL,
+                serialization.PrivateFormat.TraditionalOpenSSL,
                 DummyKeyEncryption()
             )
