address review feedback
diff --git a/src/cryptography/hazmat/primitives/asymmetric/ec.py b/src/cryptography/hazmat/primitives/asymmetric/ec.py
index f25ea6d..7782133 100644
--- a/src/cryptography/hazmat/primitives/asymmetric/ec.py
+++ b/src/cryptography/hazmat/primitives/asymmetric/ec.py
@@ -272,21 +272,18 @@
         if not isinstance(curve, EllipticCurve):
             raise TypeError("curve must be an EllipticCurve instance")
 
-        if data == b'\x00':
-            raise ValueError("null points are not supported")
-        elif data.startswith(b'\x04'):
+        if data.startswith(b'\x04'):
             # key_size is in bits. Convert to bytes and round up
             byte_length = (curve.key_size + 7) // 8
             if len(data) == 2 * byte_length + 1:
                 x = utils.int_from_bytes(data[1:byte_length + 1], 'big')
                 y = utils.int_from_bytes(data[byte_length + 1:], 'big')
+                return cls(x, y, curve)
             else:
                 raise ValueError('Invalid elliptic curve point data length')
         else:
             raise ValueError('Unsupported elliptic curve point type')
 
-        return cls(x, y, curve)
-
     curve = utils.read_only_property("_curve")
     x = utils.read_only_property("_x")
     y = utils.read_only_property("_y")
diff --git a/tests/hazmat/primitives/test_ec.py b/tests/hazmat/primitives/test_ec.py
index ac1ba27..5baaa3c 100644
--- a/tests/hazmat/primitives/test_ec.py
+++ b/tests/hazmat/primitives/test_ec.py
@@ -167,13 +167,6 @@
     )
 
 
-def test_from_encoded_point_null():
-    with pytest.raises(ValueError):
-        ec.EllipticCurvePublicNumbers.from_encoded_point(
-            ec.SECP384R1(), b"\x00"
-        )
-
-
 def test_from_encoded_point():
     # secp256r1 point
     data = binascii.unhexlify(