diff --git a/tests/test_utils.py b/tests/test_utils.py
index 0e1d77b..013d491 100644
--- a/tests/test_utils.py
+++ b/tests/test_utils.py
@@ -20,8 +20,8 @@
 
 from .utils import (
     load_nist_vectors, load_vectors_from_file, load_cryptrec_vectors,
-    load_openssl_vectors, load_hash_vectors, check_for_iface,
-    check_backend_support, select_backends, load_pkcs1_vectors
+    load_hash_vectors, check_for_iface, check_backend_support,
+    select_backends, load_pkcs1_vectors
 )
 
 
@@ -253,57 +253,6 @@
         load_cryptrec_vectors(vector_data)
 
 
-def test_load_openssl_vectors():
-    vector_data = textwrap.dedent(
-        """
-        # We don't support CFB{1,8}-CAMELLIAxxx.{En,De}crypt
-        # For all CFB128 encrypts and decrypts, the transformed sequence is
-        #   CAMELLIA-bits-CFB:key:IV/ciphertext':plaintext:ciphertext:encdec
-        # CFB128-CAMELLIA128.Encrypt
-        """
-        "CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:"
-        "000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:"
-        "14F7646187817EB586599146B82BD719:1\n"
-        "CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:"
-        "14F7646187817EB586599146B82BD719:AE2D8A571E03AC9C9EB76FAC45AF8E51:"
-        "A53D28BB82DF741103EA4F921A44880B:1\n\n"
-        "# CFB128-CAMELLIA128.Decrypt\n"
-        "CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:"
-        "000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:"
-        "14F7646187817EB586599146B82BD719:0\n"
-        "CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:"
-        "14F7646187817EB586599146B82BD719:AE2D8A571E03AC9C9EB76FAC45AF8E51:"
-        "A53D28BB82DF741103EA4F921A44880B:0"
-    ).splitlines()
-
-    assert load_openssl_vectors(vector_data) == [
-        {
-            "key": b"2B7E151628AED2A6ABF7158809CF4F3C",
-            "iv": b"000102030405060708090A0B0C0D0E0F",
-            "plaintext": b"6BC1BEE22E409F96E93D7E117393172A",
-            "ciphertext": b"14F7646187817EB586599146B82BD719",
-        },
-        {
-            "key": b"2B7E151628AED2A6ABF7158809CF4F3C",
-            "iv": b"14F7646187817EB586599146B82BD719",
-            "plaintext": b"AE2D8A571E03AC9C9EB76FAC45AF8E51",
-            "ciphertext": b"A53D28BB82DF741103EA4F921A44880B",
-        },
-        {
-            "key": b"2B7E151628AED2A6ABF7158809CF4F3C",
-            "iv": b"000102030405060708090A0B0C0D0E0F",
-            "plaintext": b"6BC1BEE22E409F96E93D7E117393172A",
-            "ciphertext": b"14F7646187817EB586599146B82BD719",
-        },
-        {
-            "key": b"2B7E151628AED2A6ABF7158809CF4F3C",
-            "iv": b"14F7646187817EB586599146B82BD719",
-            "plaintext": b"AE2D8A571E03AC9C9EB76FAC45AF8E51",
-            "ciphertext": b"A53D28BB82DF741103EA4F921A44880B",
-        },
-    ]
-
-
 def test_load_hash_vectors():
     vector_data = textwrap.dedent("""
 
diff --git a/tests/utils.py b/tests/utils.py
index 2bbecd7..3c150a2 100644
--- a/tests/utils.py
+++ b/tests/utils.py
@@ -135,26 +135,6 @@
     return cryptrec_list
 
 
-def load_openssl_vectors(vector_data):
-    vectors = []
-
-    for line in vector_data:
-        line = line.strip()
-
-        # Blank lines and comments are ignored
-        if not line or line.startswith("#"):
-            continue
-
-        vector = line.split(":")
-        vectors.append({
-            "key": vector[1].encode("ascii"),
-            "iv": vector[2].encode("ascii"),
-            "plaintext": vector[3].encode("ascii"),
-            "ciphertext": vector[4].encode("ascii"),
-        })
-    return vectors
-
-
 def load_hash_vectors(vector_data):
     vectors = []
     key = None
