else
                hdr_trans->from_ds = true;
 
-       wcid = (struct mt76_wcid *)sta->drv_priv;
-       if (!wcid)
+       if (!sta)
                return;
 
+       wcid = (struct mt76_wcid *)sta->drv_priv;
        hdr_trans->dis_rx_hdr_tran = !test_bit(MT_WCID_FLAG_HDR_TRANS, &wcid->flags);
        if (test_bit(MT_WCID_FLAG_4ADDR, &wcid->flags)) {
                hdr_trans->to_ds = true;
        if (!enable)
                goto out;
 
+       /* starec hdr trans */
+       mt7996_mcu_sta_hdr_trans_tlv(dev, skb, vif, sta);
+
        /* tag order is in accordance with firmware dependency. */
        if (sta) {
                /* starec hdrt mode */
                mt7996_mcu_sta_muru_tlv(dev, skb, vif, sta);
                /* starec bfee */
                mt7996_mcu_sta_bfee_tlv(dev, skb, vif, sta);
-               /* starec hdr trans */
-               mt7996_mcu_sta_hdr_trans_tlv(dev, skb, vif, sta);
        }
 
        ret = mt7996_mcu_add_group(dev, vif, sta);