int queue = *queueptr;
        int ret = 0;
 
+       if (tid == IWL_MAX_TID_COUNT)
+               tid = IWL_MGMT_TID;
+
        if (mvm->sta_remove_requires_queue_remove) {
                u32 cmd_id = WIDE_ID(DATA_PATH_GROUP,
                                     SCD_QUEUE_CONFIG_CMD);
 
                                             SCD_QUEUE_CONFIG_CMD);
                        struct iwl_scd_queue_cfg_cmd remove_cmd = {
                                .operation = cpu_to_le32(IWL_SCD_QUEUE_REMOVE),
-                               .u.remove.tid = cpu_to_le32(tid),
                                .u.remove.sta_mask = cpu_to_le32(BIT(sta_id)),
                        };
 
+                       if (tid == IWL_MAX_TID_COUNT)
+                               tid = IWL_MGMT_TID;
+
+                       remove_cmd.u.remove.tid = cpu_to_le32(tid);
+
                        ret = iwl_mvm_send_cmd_pdu(mvm, cmd_id, 0,
                                                   sizeof(remove_cmd),
                                                   &remove_cmd);