diff --git a/system/bta/hh/bta_hh_act.cc b/system/bta/hh/bta_hh_act.cc
index 9eaa703794ce75cc9d08ccbce6957b44a0d0ea97..dd9decd31c7c1ede9be58e9f3ad9f61dff724b03 100644
--- a/system/bta/hh/bta_hh_act.cc
+++ b/system/bta/hh/bta_hh_act.cc
@@ -706,7 +706,6 @@ void bta_hh_ctrl_dat_act(tBTA_HH_DEV_CB* p_cb, const tBTA_HH_DATA* p_data) {
   BT_HDR* pdata = p_data->hid_cback.p_data;
   uint8_t* data = (uint8_t*)(pdata + 1) + pdata->offset;
   tBTA_HH_HSDATA hs_data;
-  bool do_free = true;
 
   APPL_TRACE_DEBUG("Ctrl DATA received w4: event[%s]",
                    bta_hh_get_w4_event(p_cb->w4_evt));
@@ -727,7 +726,6 @@ void bta_hh_ctrl_dat_act(tBTA_HH_DEV_CB* p_cb, const tBTA_HH_DATA* p_data) {
       hs_data.rsp_data.p_rpt_data = pdata;
       bta_hh_co_get_rpt_rsp(hs_data.handle, hs_data.status, pdata->data,
                             pdata->len);
-      do_free = false;
       break;
     case BTA_HH_GET_PROTO_EVT:
       /* match up BTE/BTA report/boot mode def*/
@@ -759,9 +757,7 @@ void bta_hh_ctrl_dat_act(tBTA_HH_DEV_CB* p_cb, const tBTA_HH_DATA* p_data) {
   (*bta_hh_cb.p_cback)(p_cb->w4_evt, (tBTA_HH*)&hs_data);
 
   p_cb->w4_evt = 0;
-  if (do_free) {
-    osi_free_and_reset((void**)&pdata);
-  }
+  osi_free_and_reset((void**)&pdata);
 }
 
 /*******************************************************************************
diff --git a/system/btif/src/btif_hh.cc b/system/btif/src/btif_hh.cc
index 77feb5c1ed2a04c24921a19e488cb6e22cfc4f47..3280a957d25adf80fd76095978ed8fd1307531dd 100644
--- a/system/btif/src/btif_hh.cc
+++ b/system/btif/src/btif_hh.cc
@@ -893,10 +893,6 @@ static void btif_hh_upstreams_evt(uint16_t event, char* p_param) {
         BTIF_TRACE_WARNING("Error: cannot find device with handle %d",
                            p_data->hs_data.handle);
       }
-      if (hdr) {
-        osi_free(hdr);
-        p_data->hs_data.rsp_data.p_rpt_data = NULL;
-      }
       break;
     }