--- a/ath/if_ath.c
+++ b/ath/if_ath.c
@@ -1778,17 +1778,14 @@ ath_uapsd_processtriggers(struct ath_sof
 			 * may have occurred in the intervening timeframe. */
 			bf->bf_channoise = ic->ic_channoise;
 
-			if (rs->rs_status) {
-				if ((HAL_RXERR_PHY == rs->rs_status) &&
-				    (HAL_PHYERR_RADAR ==
-				     (rs->rs_phyerr & 0x1f)) &&
-				    (0 == (bf->bf_status &
-					   ATH_BUFSTATUS_RADAR_DONE))) {
-					check_for_radar = 1;
-				}
-				/* Skip past the error now */
+			if ((HAL_RXERR_PHY == rs->rs_status) &&
+			    (HAL_PHYERR_RADAR == (rs->rs_phyerr & 0x1f)) &&
+			    (0 == (bf->bf_status & ATH_BUFSTATUS_RADAR_DONE)) &&
+			    (ic->ic_flags & IEEE80211_F_DOTH))
+				check_for_radar = 1;
+
+			if (rs->rs_status) /* Skip past the error now */
 				continue;
-			}
 
 			/* Prepare wireless header for examination */
 			bus_dma_sync_single(sc->sc_bdev, bf->bf_skbaddr,
--- a/ath/if_ath_radar.c
+++ b/ath/if_ath_radar.c
@@ -265,7 +265,7 @@ int ath_radar_update(struct ath_softc *s
 		unsigned int new_rxfilt = old_rxfilt;
 
 		ath_hal_intrset(ah, old_ier & ~HAL_INT_GLOBAL);
-		if (required) {
+		if ((required) && (ic->ic_flags & IEEE80211_F_DOTH)) {
 			new_radar |= AR5K_PHY_RADAR_ENABLE;
 			new_filter |= AR5K_AR5212_PHY_ERR_FIL_RADAR;
 			new_rxfilt |= (HAL_RX_FILTER_PHYERR | 
