--- a/ath/if_ath.c
+++ b/ath/if_ath.c
@@ -6669,6 +6669,7 @@ ath_setdefantenna(struct ath_softc *sc,
 	struct ath_hal *ah = sc->sc_ah;
 
 	/* XXX block beacon interrupts */
+	ath_hal_setdiversity(ah, (sc->sc_diversity != 0));
 	ath_hal_setdefantenna(ah, antenna);
 	if (sc->sc_defant != antenna)
 		sc->sc_stats.ast_ant_defswitch++;