struct iwl_mvm *mvm = container_of(wk, struct iwl_mvm, roc_done_wk);
 
        /*
-        * Clear the ROC_RUNNING /ROC_AUX_RUNNING status bit.
+        * Clear the ROC_RUNNING status bit.
         * This will cause the TX path to drop offchannel transmissions.
         * That would also be done by mac80211, but it is racy, in particular
         * in the case that the time event actually completed in the firmware
         * (which is handled in iwl_mvm_te_handle_notif).
         */
        clear_bit(IWL_MVM_STATUS_ROC_RUNNING, &mvm->status);
-       clear_bit(IWL_MVM_STATUS_ROC_AUX_RUNNING, &mvm->status);
 
        synchronize_net();
 
                        mvmvif = iwl_mvm_vif_from_mac80211(mvm->p2p_device_vif);
                        iwl_mvm_flush_sta(mvm, &mvmvif->bcast_sta, true);
                }
-       } else {
+       }
+
+       /*
+        * Clear the ROC_AUX_RUNNING status bit.
+        * This will cause the TX path to drop offchannel transmissions.
+        * That would also be done by mac80211, but it is racy, in particular
+        * in the case that the time event actually completed in the firmware
+        * (which is handled in iwl_mvm_te_handle_notif).
+        */
+       if (test_and_clear_bit(IWL_MVM_STATUS_ROC_AUX_RUNNING, &mvm->status)) {
                /* do the same in case of hot spot 2.0 */
                iwl_mvm_flush_sta(mvm, &mvm->aux_sta, true);
+
                /* In newer version of this command an aux station is added only
                 * in cases of dedicated tx queue and need to be removed in end
                 * of use */