diff --git a/tests/scripts/components-configuration-crypto.sh b/tests/scripts/components-configuration-crypto.sh
index fb015d8..3da9788 100644
--- a/tests/scripts/components-configuration-crypto.sh
+++ b/tests/scripts/components-configuration-crypto.sh
@@ -408,25 +408,6 @@
     make test
 }
 
-component_test_config_symmetric_only_legacy () {
-    msg "build: configs/config-symmetric-only.h"
-    cp configs/config-symmetric-only.h "$CONFIG_H"
-    # test-ref-configs works by overwriting mbedtls_config.h; this makes cmake
-    # want to re-generate generated files that depend on it, quite correctly.
-    # However this doesn't work as the generation script expects a specific
-    # format for mbedtls_config.h, which the other files don't follow. Also,
-    # cmake can't know this, but re-generation is actually not necessary as
-    # the generated files only depend on the list of available options, not
-    # whether they're on or off. So, disable cmake's (over-sensitive here)
-    # dependency resolution for generated files and just rely on them being
-    # present (thanks to pre_generate_files) by turning GEN_FILES off.
-    CC=$ASAN_CC cmake -D GEN_FILES=Off -D CMAKE_BUILD_TYPE:String=Asan .
-    make
-
-    msg "test: configs/config-symmetric-only.h - unit tests"
-    make test
-}
-
 component_test_config_symmetric_only_psa () {
     msg "build: configs/config-symmetric-only.h + USE_PSA_CRYPTO"
     cp configs/config-symmetric-only.h "$CONFIG_H"
diff --git a/tests/scripts/components-configuration-tls.sh b/tests/scripts/components-configuration-tls.sh
index 0dbc42f..0e77f96 100644
--- a/tests/scripts/components-configuration-tls.sh
+++ b/tests/scripts/components-configuration-tls.sh
@@ -9,38 +9,6 @@
 #### Configuration Testing - TLS
 ################################################################
 
-component_test_config_suite_b_legacy () {
-    msg "build: configs/config-suite-b.h"
-    cp configs/config-suite-b.h "$CONFIG_H"
-    # test-ref-configs works by overwriting mbedtls_config.h; this makes cmake
-    # want to re-generate generated files that depend on it, quite correctly.
-    # However this doesn't work as the generation script expects a specific
-    # format for mbedtls_config.h, which the other files don't follow. Also,
-    # cmake can't know this, but re-generation is actually not necessary as
-    # the generated files only depend on the list of available options, not
-    # whether they're on or off. So, disable cmake's (over-sensitive here)
-    # dependency resolution for generated files and just rely on them being
-    # present (thanks to pre_generate_files) by turning GEN_FILES off.
-    CC=$ASAN_CC cmake -D GEN_FILES=Off -D CMAKE_BUILD_TYPE:String=Asan .
-    make
-
-    msg "test: configs/config-suite-b.h - unit tests"
-    make test
-
-    msg "test: configs/config-suite-b.h - compat.sh"
-    tests/compat.sh -m tls12 -f 'ECDHE_ECDSA.*AES.*GCM' -p mbedTLS
-
-    msg "build: configs/config-suite-b.h + DEBUG"
-    MBEDTLS_TEST_CONFIGURATION="$MBEDTLS_TEST_CONFIGURATION+DEBUG"
-    make clean
-    scripts/config.py set MBEDTLS_DEBUG_C
-    scripts/config.py set MBEDTLS_ERROR_C
-    make ssl-opt
-
-    msg "test: configs/config-suite-b.h + DEBUG - ssl-opt.sh"
-    tests/ssl-opt.sh
-}
-
 component_test_config_suite_b_psa () {
     msg "build: configs/config-suite-b.h + USE_PSA_CRYPTO"
     cp configs/config-suite-b.h "$CONFIG_H"
@@ -196,28 +164,6 @@
     tests/ssl-opt.sh -f "TLS 1.2"
 }
 
-component_test_config_thread_legacy () {
-    msg "build: configs/config-thread.h"
-    cp configs/config-thread.h "$CONFIG_H"
-    # test-ref-configs works by overwriting mbedtls_config.h; this makes cmake
-    # want to re-generate generated files that depend on it, quite correctly.
-    # However this doesn't work as the generation script expects a specific
-    # format for mbedtls_config.h, which the other files don't follow. Also,
-    # cmake can't know this, but re-generation is actually not necessary as
-    # the generated files only depend on the list of available options, not
-    # whether they're on or off. So, disable cmake's (over-sensitive here)
-    # dependency resolution for generated files and just rely on them being
-    # present (thanks to pre_generate_files) by turning GEN_FILES off.
-    CC=$ASAN_CC cmake -D GEN_FILES=Off -D CMAKE_BUILD_TYPE:String=Asan .
-    make
-
-    msg "test: configs/config-thread.h - unit tests"
-    make test
-
-    msg "test: configs/config-thread.h - ssl-opt.sh"
-    tests/ssl-opt.sh -f 'ECJPAKE.*nolog'
-}
-
 component_test_config_thread_psa () {
     msg "build: configs/config-thread.h + USE_PSA_CRYPTO"
     cp configs/config-thread.h "$CONFIG_H"
@@ -275,28 +221,6 @@
     rm s2_no_use_psa c2_no_use_psa
 }
 
-component_test_tls1_2_ccm_psk_legacy () {
-    msg "build: configs/config-ccm-psk-tls1_2.h"
-    cp configs/config-ccm-psk-tls1_2.h "$CONFIG_H"
-    # test-ref-configs works by overwriting mbedtls_config.h; this makes cmake
-    # want to re-generate generated files that depend on it, quite correctly.
-    # However this doesn't work as the generation script expects a specific
-    # format for mbedtls_config.h, which the other files don't follow. Also,
-    # cmake can't know this, but re-generation is actually not necessary as
-    # the generated files only depend on the list of available options, not
-    # whether they're on or off. So, disable cmake's (over-sensitive here)
-    # dependency resolution for generated files and just rely on them being
-    # present (thanks to pre_generate_files) by turning GEN_FILES off.
-    CC=$ASAN_CC cmake -D GEN_FILES=Off -D CMAKE_BUILD_TYPE:String=Asan .
-    make
-
-    msg "test: configs/config-ccm-psk-tls1_2.h - unit tests"
-    make test
-
-    msg "test: configs/config-ccm-psk-tls1_2.h - compat.sh"
-    tests/compat.sh -m tls12 -f '^TLS_PSK_WITH_AES_..._CCM_8'
-}
-
 component_test_tls1_2_ccm_psk_psa () {
     msg "build: configs/config-ccm-psk-tls1_2.h + USE_PSA_CRYPTO"
     cp configs/config-ccm-psk-tls1_2.h "$CONFIG_H"
@@ -321,38 +245,6 @@
     tests/compat.sh -m tls12 -f '^TLS_PSK_WITH_AES_..._CCM_8'
 }
 
-component_test_tls1_2_ccm_psk_dtls_legacy () {
-    msg "build: configs/config-ccm-psk-dtls1_2.h"
-    cp configs/config-ccm-psk-dtls1_2.h "$CONFIG_H"
-    # test-ref-configs works by overwriting mbedtls_config.h; this makes cmake
-    # want to re-generate generated files that depend on it, quite correctly.
-    # However this doesn't work as the generation script expects a specific
-    # format for mbedtls_config.h, which the other files don't follow. Also,
-    # cmake can't know this, but re-generation is actually not necessary as
-    # the generated files only depend on the list of available options, not
-    # whether they're on or off. So, disable cmake's (over-sensitive here)
-    # dependency resolution for generated files and just rely on them being
-    # present (thanks to pre_generate_files) by turning GEN_FILES off.
-    CC=$ASAN_CC cmake -D GEN_FILES=Off -D CMAKE_BUILD_TYPE:String=Asan .
-    make
-
-    msg "test: configs/config-ccm-psk-dtls1_2.h - unit tests"
-    make test
-
-    msg "test: configs/config-ccm-psk-dtls1_2.h - compat.sh"
-    tests/compat.sh -m dtls12 -f '^TLS_PSK_WITH_AES_..._CCM_8'
-
-    msg "build: configs/config-ccm-psk-dtls1_2.h + DEBUG"
-    MBEDTLS_TEST_CONFIGURATION="$MBEDTLS_TEST_CONFIGURATION+DEBUG"
-    make clean
-    scripts/config.py set MBEDTLS_DEBUG_C
-    scripts/config.py set MBEDTLS_ERROR_C
-    make ssl-opt
-
-    msg "test: configs/config-ccm-psk-dtls1_2.h + DEBUG - ssl-opt.sh"
-    tests/ssl-opt.sh
-}
-
 component_test_tls1_2_ccm_psk_dtls_psa () {
     msg "build: configs/config-ccm-psk-dtls1_2.h + USE_PSA_CRYPTO"
     cp configs/config-ccm-psk-dtls1_2.h "$CONFIG_H"
