diff --git a/sys/dev/netif/ral/rt2661.c b/sys/dev/netif/ral/rt2661.c
index b8bd68b..db80748 100644
--- a/sys/dev/netif/ral/rt2661.c
+++ b/sys/dev/netif/ral/rt2661.c
@@ -898,14 +898,15 @@ rt2661_tx_intr(struct rt2661_softc *sc)
 		data = &txq->data[txq->stat];
 		m = data->m;
 		data->m = NULL;
-		ni = data->ni;
-		data->ni = NULL;
-		vap = ni->ni_vap;
 
 		/* if no frame has been sent, ignore */
 		if (ni == NULL)
 			continue;
 
+		ni = data->ni;
+		data->ni = NULL;
+		vap = ni->ni_vap;
+
 		switch (RT2661_TX_RESULT(val)) {
 		case RT2661_TX_SUCCESS:
 			retrycnt = RT2661_TX_RETRYCNT(val);
@@ -1491,7 +1492,7 @@ rt2661_tx_data(struct rt2661_softc *sc, struct mbuf *m0,
 	} else if (tp->ucastrate != IEEE80211_FIXED_RATE_NONE) {
 		rate = tp->ucastrate;
 	} else {
-		(void) ieee80211_ratectl_rate(ni, NULL, 0);
+		ieee80211_ratectl_rate(ni, NULL, 0);
 		rate = ni->ni_txrate;
 	}
 	rate &= IEEE80211_RATE_VAL;
