diff --git a/src/pdch.cpp b/src/pdch.cpp
index 9ceb944..2cee011 100644
--- a/src/pdch.cpp
+++ b/src/pdch.cpp
@@ -356,9 +356,6 @@
 	tbf = poll->tbf_poll.poll_tbf;
 	reason = poll->tbf_poll.reason;
 
-	/* Reset N3101 counter: */
-	tbf->n_reset(N3101);
-
 	ms_update_announced_tlli(tbf->ms(), tlli);
 	/* Gather MS from TBF again, since it may be NULL or may have been merged during ms_update_announced_tlli */
 	ms = tbf->ms();
@@ -499,9 +496,6 @@
 		return;
 	}
 
-	/* Reset N3101 counter: */
-	tbf->n_reset(N3101);
-
 	pdch_ulc_release_fn(ulc, fn);
 
 	LOGPTBF(tbf, LOGL_DEBUG, "RX: [PCU <- BTS] Packet Downlink Ack/Nack\n");
@@ -569,8 +563,6 @@
 		return;
 	}
 
-	/* Reset N3101 counter: */
-	tbf->n_reset(N3101);
 	pdch_ulc_release_fn(ulc, fn);
 
 	LOGPTBF(tbf, LOGL_DEBUG,
@@ -670,8 +662,6 @@
 			LOGP(DRLCMAC, LOGL_NOTICE, "PACKET RESOURCE REQ unknown downlink TFI=%d\n", tfi);
 			return;
 		}
-		/* Reset N3101 counter: */
-		dl_tbf->n_reset(N3101);
 		ms = tbf_ms(dl_tbf_as_tbf(dl_tbf));
 		dl_tbf = NULL;
 	} else { /* ID_TYPE = UL_TFI */
@@ -681,8 +671,6 @@
 			LOGP(DRLCMAC, LOGL_NOTICE, "PACKET RESOURCE REQ unknown uplink TFI=%d\n", tfi);
 			return;
 		}
-		/* Reset N3101 counter: */
-		ul_tbf->n_reset(N3101);
 		ms = tbf_ms(ul_tbf_as_tbf(ul_tbf));
 		ul_tbf = NULL;
 	}
diff --git a/src/tbf.cpp b/src/tbf.cpp
index 83b3b86..bc5411a 100644
--- a/src/tbf.cpp
+++ b/src/tbf.cpp
@@ -307,10 +307,14 @@
 
 void gprs_rlcmac_tbf::n_reset(enum tbf_counters n)
 {
-	if (n >= N_MAX) {
-		LOGPTBF(this, LOGL_ERROR, "attempting to reset unknown counter %s\n",
-			get_value_string(tbf_counters_names, n));
-		return;
+	OSMO_ASSERT(n < N_MAX);
+
+	switch(n) {
+	case N3101:
+		OSMO_ASSERT(direction == GPRS_RLCMAC_UL_TBF);
+		break;
+	default:
+		break;
 	}
 
 	Narr[n] = 0;
@@ -321,16 +325,13 @@
 {
 	uint8_t chk;
 
-	if (n >= N_MAX) {
-		LOGPTBF(this, LOGL_ERROR, "attempting to increment unknown counter %s\n",
-			get_value_string(tbf_counters_names, n));
-		return true;
-	}
+	OSMO_ASSERT(n < N_MAX);
 
 	Narr[n]++;
 
 	switch(n) {
 	case N3101:
+		OSMO_ASSERT(direction == GPRS_RLCMAC_UL_TBF);
 		chk = bts->n3101;
 		break;
 	case N3103:
