--- a/ath/if_ath.c
+++ b/ath/if_ath.c
@@ -1957,6 +1957,7 @@ ath_uapsd_processtriggers(struct ath_sof
 				if (qwh->i_fc[1] & IEEE80211_FC1_PWR_MGT) {
 					ni->ni_flags |=
 						IEEE80211_NODE_UAPSD_TRIG;
+					ni->ni_vap->iv_ps_sta++;
 					ic->ic_uapsdmaxtriggers++;
 					WME_UAPSD_NODE_TRIGSEQINIT(ni);
 					DPRINTF(sc, ATH_DEBUG_UAPSD,
@@ -1967,6 +1968,7 @@ ath_uapsd_processtriggers(struct ath_sof
 				} else {
 					ni->ni_flags &=
 						~IEEE80211_NODE_UAPSD_TRIG;
+					ni->ni_vap->iv_ps_sta--;
 					ic->ic_uapsdmaxtriggers--;
 					DPRINTF(sc, ATH_DEBUG_UAPSD,
 						"Node (" MAC_FMT ") no longer U-APSD"