diff --git a/hal/audio_extn/a2dp.c b/hal/audio_extn/a2dp.c
index 14bf29c..4a37bf1 100644
--- a/hal/audio_extn/a2dp.c
+++ b/hal/audio_extn/a2dp.c
@@ -2605,19 +2605,17 @@
     struct abr_dec_cfg_t dummy_reset_cfg;
     int ret = 0;
 
-    if (a2dp.abr_config.is_abr_enabled) {
-        ctl_dec_data = mixer_get_ctl_by_name(a2dp.adev->mixer, MIXER_SOURCE_DEC_CONFIG_BLOCK);
-        if (!ctl_dec_data) {
-            ALOGE("%s: ERROR A2DP decoder config mixer control not identifed", __func__);
-            return -EINVAL;
-        }
-        memset(&dummy_reset_cfg, 0x0, sizeof(dummy_reset_cfg));
-        ret = mixer_ctl_set_array(ctl_dec_data, (void *)&dummy_reset_cfg,
-                                  sizeof(dummy_reset_cfg));
-        if (ret != 0) {
-            ALOGE("%s: Failed to set dummy decoder config", __func__);
-            return ret;
-        }
+    ctl_dec_data = mixer_get_ctl_by_name(a2dp.adev->mixer, MIXER_SOURCE_DEC_CONFIG_BLOCK);
+    if (!ctl_dec_data) {
+        ALOGE("%s: ERROR A2DP decoder config mixer control not identifed", __func__);
+        return -EINVAL;
+    }
+    memset(&dummy_reset_cfg, 0x0, sizeof(dummy_reset_cfg));
+    ret = mixer_ctl_set_array(ctl_dec_data, (void *)&dummy_reset_cfg,
+                              sizeof(dummy_reset_cfg));
+    if (ret != 0) {
+        ALOGE("%s: Failed to set dummy decoder config", __func__);
+        return ret;
     }
 
     return ret;
