diff --git a/system/btif/src/btif_av.cc b/system/btif/src/btif_av.cc
index a2fa2dbf6dc8dd1aaedde48e26877e956803b88b..31713f44a35ce4934517994cd7fe8c76a692ffdd 100644
--- a/system/btif/src/btif_av.cc
+++ b/system/btif/src/btif_av.cc
@@ -54,8 +54,6 @@
  *****************************************************************************/
 static const std::string kBtifAvSourceServiceName = "Advanced Audio Source";
 static const std::string kBtifAvSinkServiceName = "Advanced Audio Sink";
-static const std::string kBtifAvA2dpOffloadEnable =
-    "persist.bluetooth.a2dp_offload.enable";
 static constexpr int kDefaultMaxConnectedAudioDevices = 1;
 static constexpr tBTA_AV_HNDL kBtaHandleUnknown = 0;
 
@@ -907,9 +905,13 @@ bt_status_t BtifAvSource::Init(
   max_connected_peers_ = max_connected_audio_devices;
 
   /* A2DP OFFLOAD */
-  char value[PROPERTY_VALUE_MAX] = {'\0'};
-  osi_property_get(kBtifAvA2dpOffloadEnable.c_str(), value, "false");
-  a2dp_offload_enabled_ = (strcmp(value, "true") == 0);
+  char value_sup[PROPERTY_VALUE_MAX] = {'\0'};
+  char value_dis[PROPERTY_VALUE_MAX] = {'\0'};
+  osi_property_get("ro.bluetooth.a2dp_offload.supported", value_sup, "false");
+  osi_property_get("persist.bluetooth.a2dp_offload.disabled", value_dis,
+                   "false");
+  a2dp_offload_enabled_ =
+      (strcmp(value_sup, "true") == 0) && (strcmp(value_dis, "false") == 0);
   BTIF_TRACE_DEBUG("a2dp_offload.enable = %d", a2dp_offload_enabled_);
 
   callbacks_ = callbacks;
diff --git a/system/stack/a2dp/a2dp_codec_config.cc b/system/stack/a2dp/a2dp_codec_config.cc
index 1279cebc39307271c30e9b3e287d43d2674a27f6..93d7381358b0c8962e46ce873fbc25db64c99d8a 100644
--- a/system/stack/a2dp/a2dp_codec_config.cc
+++ b/system/stack/a2dp/a2dp_codec_config.cc
@@ -549,13 +549,17 @@ bool A2dpCodecs::init() {
   char* tok = NULL;
   char* tmp_token = NULL;
   bool offload_codec_support[BTAV_A2DP_CODEC_INDEX_MAX] = {false};
-  char value_cap[PROPERTY_VALUE_MAX], value_enable[PROPERTY_VALUE_MAX];
-  osi_property_get("persist.bluetooth.a2dp_offload.cap", value_cap, "false");
-  osi_property_get("persist.bluetooth.a2dp_offload.enable", value_enable,
+  char value_sup[PROPERTY_VALUE_MAX], value_dis[PROPERTY_VALUE_MAX];
+
+  osi_property_get("ro.bluetooth.a2dp_offload.supported", value_sup, "false");
+  osi_property_get("persist.bluetooth.a2dp_offload.disabled", value_dis,
                    "false");
-  a2dp_offload_status = (strcmp(value_enable, "true") == 0);
+  a2dp_offload_status =
+      (strcmp(value_sup, "true") == 0) && (strcmp(value_dis, "false") == 0);
 
   if (a2dp_offload_status) {
+    char value_cap[PROPERTY_VALUE_MAX];
+    osi_property_get("persist.bluetooth.a2dp_offload.cap", value_cap, "");
     tok = strtok_r((char*)value_cap, "-", &tmp_token);
     while (tok != NULL) {
       if (strcmp(tok, "sbc") == 0) {