diff --git a/system/gd/rust/common/src/init_flags.rs b/system/gd/rust/common/src/init_flags.rs
index 090553620d6c5597c5b15b2312821c133088e370..49ed3349445b06f7b4970d737997729078387eb6 100644
--- a/system/gd/rust/common/src/init_flags.rs
+++ b/system/gd/rust/common/src/init_flags.rs
@@ -377,7 +377,6 @@ init_flags!(
         gatt_robust_caching_server,
         gd_core,
         gd_l2cap,
-        gd_link_policy,
         hci_adapter: i32,
         hfp_dynamic_version = true,
         irk_rotation,
diff --git a/system/gd/rust/shim/src/init_flags.rs b/system/gd/rust/shim/src/init_flags.rs
index 39abff295120f5cd9533ce20d1af84bc2a15c11e..ffe11dc305428ab2b8b2dba612a456788f015070 100644
--- a/system/gd/rust/shim/src/init_flags.rs
+++ b/system/gd/rust/shim/src/init_flags.rs
@@ -29,7 +29,6 @@ mod ffi {
         fn gatt_robust_caching_server_is_enabled() -> bool;
         fn gd_core_is_enabled() -> bool;
         fn gd_l2cap_is_enabled() -> bool;
-        fn gd_link_policy_is_enabled() -> bool;
         fn get_default_log_level() -> i32;
         fn get_hci_adapter() -> i32;
         fn get_log_level_for_tag(tag: &str) -> i32;
diff --git a/system/main/shim/shim.cc b/system/main/shim/shim.cc
index 3d15a1f5f1355e4e006ad11369796edef6854738..c2824e55e92c710bd3487151578dcd42f7d16da2 100644
--- a/system/main/shim/shim.cc
+++ b/system/main/shim/shim.cc
@@ -61,10 +61,6 @@ EXPORT_SYMBOL extern const module_t gd_shim_module = {
     .clean_up = kUnusedModuleApi,
     .dependencies = {kUnusedModuleDependencies}};
 
-bool bluetooth::shim::is_gd_link_policy_enabled() {
-  return bluetooth::common::init_flags::gd_link_policy_is_enabled();
-}
-
 bool bluetooth::shim::is_gd_l2cap_enabled() {
   return bluetooth::common::init_flags::gd_l2cap_is_enabled();
 }
diff --git a/system/main/shim/shim.h b/system/main/shim/shim.h
index fb2c6269bc20c47c984e89299ec79532095ae45a..30d80d468da9a5b45f96f6a64106d71bf27f656c 100644
--- a/system/main/shim/shim.h
+++ b/system/main/shim/shim.h
@@ -44,7 +44,6 @@ namespace shim {
  *
  * @return true if using gd shim core, false if using legacy.
  */
-bool is_gd_link_policy_enabled();
 bool is_gd_l2cap_enabled();
 bool is_gd_shim_enabled();
 bool is_gd_btaa_enabled();
diff --git a/system/stack/acl/btm_pm.cc b/system/stack/acl/btm_pm.cc
index 7903f0d426e710ef590ed812d67dee1b9a330f37..586339a10391942391c6046c6db15c2ea92a189e 100644
--- a/system/stack/acl/btm_pm.cc
+++ b/system/stack/acl/btm_pm.cc
@@ -122,12 +122,6 @@ static tBTM_STATUS btm_pm_snd_md_req(uint16_t handle, uint8_t pm_id,
  ******************************************************************************/
 tBTM_STATUS BTM_PmRegister(uint8_t mask, uint8_t* p_pm_id,
                            tBTM_PM_STATUS_CBACK* p_cb) {
-  if (bluetooth::shim::is_gd_link_policy_enabled()) {
-    ASSERT(p_pm_id != nullptr);
-    ASSERT(p_cb != nullptr);
-    return BTM_NO_RESOURCES;
-  }
-
   /* de-register */
   if (mask & BTM_PM_DEREG) {
     if (*p_pm_id >= BTM_MAX_PM_RECORDS) return BTM_ILLEGAL_VALUE;
diff --git a/system/stack/test/common/mock_main_shim.cc b/system/stack/test/common/mock_main_shim.cc
index b74c6b011db702b99c32515f690cddc3cbd4194f..24e633847a7c1707837a56ad48946ecea9d8455e 100644
--- a/system/stack/test/common/mock_main_shim.cc
+++ b/system/stack/test/common/mock_main_shim.cc
@@ -44,10 +44,6 @@ bool bluetooth::shim::is_gd_stack_started_up() {
   inc_func_call_count(__func__);
   return false;
 }
-bool bluetooth::shim::is_gd_link_policy_enabled() {
-  inc_func_call_count(__func__);
-  return false;
-}
 future_t* GeneralShutDown() {
   inc_func_call_count(__func__);
   return nullptr;
diff --git a/system/test/mock/mock_main_shim.cc b/system/test/mock/mock_main_shim.cc
index a636338788551fe1bdd77b4e300fd36a829a2d69..3a6ebdb48abffb0bff893a0b672a64b3bd5a3a7c 100644
--- a/system/test/mock/mock_main_shim.cc
+++ b/system/test/mock/mock_main_shim.cc
@@ -54,10 +54,6 @@ bool bluetooth::shim::is_gd_stack_started_up() {
   inc_func_call_count(__func__);
   return test::mock::bluetooth_shim_is_gd_stack_started_up;
 }
-bool bluetooth::shim::is_gd_link_policy_enabled() {
-  inc_func_call_count(__func__);
-  return false;
-}
 future_t* GeneralShutDown() {
   inc_func_call_count(__func__);
   return nullptr;