diff --git a/automotive/vehicle/aidl/impl/default_config/Android.bp b/automotive/vehicle/aidl/impl/default_config/Android.bp
deleted file mode 100644
index aa22d87..0000000
--- a/automotive/vehicle/aidl/impl/default_config/Android.bp
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package {
-    default_applicable_licenses: ["Android-Apache-2.0"],
-}
-
-cc_library_headers {
-    name: "VehicleHalDefaultConfig",
-    vendor: true,
-    local_include_dirs: ["include"],
-    export_include_dirs: ["include"],
-    defaults: ["VehicleHalDefaults"],
-    static_libs: ["VehicleHalUtils"],
-    header_libs: [
-        "VehicleHalJsonConfigLoaderHeaders",
-        "VehicleHalTestUtilHeaders",
-    ],
-    export_static_lib_headers: ["VehicleHalUtils"],
-    export_header_lib_headers: [
-        "VehicleHalTestUtilHeaders",
-        "VehicleHalJsonConfigLoaderHeaders",
-    ],
-}
diff --git a/automotive/vehicle/aidl/impl/default_config/test/Android.bp b/automotive/vehicle/aidl/impl/default_config/test/Android.bp
index b05d47c..8702eae 100644
--- a/automotive/vehicle/aidl/impl/default_config/test/Android.bp
+++ b/automotive/vehicle/aidl/impl/default_config/test/Android.bp
@@ -30,8 +30,6 @@
         "libgtest",
     ],
     header_libs: [
-        // TODO(b/238685398): Remove this once we deprecate DefaultConfig.h
-        "VehicleHalDefaultConfig",
         "IVehicleGeneratedHeaders",
     ],
     shared_libs: [
@@ -55,13 +53,9 @@
         "libgtest",
     ],
     cflags: [
-        // TODO(b/238685398): Remove this once we deprecate DefaultConfig.h
-        "-DENABLE_VENDOR_CLUSTER_PROPERTY_FOR_TESTING",
         "-DENABLE_VEHICLE_HAL_TEST_PROPERTIES",
     ],
     header_libs: [
-        // TODO(b/238685398): Remove this once we deprecate DefaultConfig.h
-        "VehicleHalDefaultConfig",
         "IVehicleGeneratedHeaders",
     ],
     shared_libs: [
diff --git a/automotive/vehicle/aidl/impl/default_config/test/DefaultConfigTest.cpp b/automotive/vehicle/aidl/impl/default_config/test/DefaultConfigTest.cpp
index f0ab806..95fecfe 100644
--- a/automotive/vehicle/aidl/impl/default_config/test/DefaultConfigTest.cpp
+++ b/automotive/vehicle/aidl/impl/default_config/test/DefaultConfigTest.cpp
@@ -14,7 +14,6 @@
  * limitations under the License.
  */
 
-#include <DefaultConfig.h>
 #include <JsonConfigLoader.h>
 #include <VehicleUtils.h>
 #include <android-base/file.h>
@@ -80,26 +79,6 @@
     ASSERT_TRUE(result.ok()) << result.error().message();
 }
 
-// TODO(b/238685398): Remove this test after we deprecate DefaultConfig.h
-TEST(DefaultConfigTest, TestCompatibleWithDefaultConfigHeader) {
-    auto configsFromHeaderFile = defaultconfig::getDefaultConfigs();
-
-    std::vector<ConfigDeclaration> configsFromJson;
-    JsonConfigLoader loader;
-    for (const char* file :
-         std::vector<const char*>({kDefaultPropertiesConfigFile, kTestPropertiesConfigFile,
-                                   kVendorClusterTestPropertiesConfigFile})) {
-        auto result = loadConfig(loader, file);
-        ASSERT_TRUE(result.ok()) << result.error().message();
-        for (auto& [propId, configDeclaration] : result.value()) {
-            configsFromJson.push_back(configDeclaration);
-        }
-    }
-
-    ASSERT_EQ(configsFromHeaderFile.size(), configsFromJson.size());
-    ASSERT_THAT(configsFromHeaderFile, UnorderedElementsAreArray(configsFromJson));
-}
-
 #endif  // ENABLE_VEHICLE_HAL_TEST_PROPERTIES
 
 }  // namespace test
diff --git a/automotive/vehicle/aidl/impl/grpc/utils/proto_message_converter/Android.bp b/automotive/vehicle/aidl/impl/grpc/utils/proto_message_converter/Android.bp
index c368334..2b4059c 100644
--- a/automotive/vehicle/aidl/impl/grpc/utils/proto_message_converter/Android.bp
+++ b/automotive/vehicle/aidl/impl/grpc/utils/proto_message_converter/Android.bp
@@ -61,6 +61,5 @@
     data: [
         ":VehicleHalDefaultProperties_JSON",
     ],
-    header_libs: ["VehicleHalDefaultConfig"],
     test_suites: ["device-tests"],
 }
