diff --git a/src/bts.cpp b/src/bts.cpp
index 4ce036b..7974f41 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -137,6 +137,8 @@
 	{ "pch:requests:timeout",	"PCH requests timeout "},
 	{ "rach:requests",		"RACH requests received"},
 	{ "rach:requests:11bit",	"11BIT_RACH requests received"},
+	{ "rach:requests:one_phase",	"One phase packet access with request for single TS UL"}, /* TS 52.402 B.2.1.49 */
+	{ "rach:requests:two_phase",	"Single block packet request for two phase packet access"}, /* TS 52.402 B.2.1.49 */
 	{ "spb:uplink_first_segment",   "First seg of UL SPB  "},
 	{ "spb:uplink_second_segment",  "Second seg of UL SPB "},
 	{ "spb:downlink_first_segment", "First seg of DL SPB  "},
@@ -897,12 +899,17 @@
 	if (rc) /* Send RR Immediate Assignment Reject */
 		goto send_imm_ass_rej;
 
-	if (chan_req.single_block)
+	if (chan_req.single_block) {
+		bts_do_rate_ctr_inc(bts, CTR_RACH_REQUESTS_TWO_PHASE);
 		LOGP(DRLCMAC, LOGL_DEBUG, "MS requests single block allocation\n");
-	else if (bts->pcu->vty.force_two_phase) {
+	} else {
+		bts_do_rate_ctr_inc(bts, CTR_RACH_REQUESTS_ONE_PHASE);
 		LOGP(DRLCMAC, LOGL_DEBUG, "MS requests single TS uplink transmission "
-		     "(one phase packet access), but we force two phase access\n");
-		chan_req.single_block = true;
+		     "(one phase packet access)\n");
+		if (bts->pcu->vty.force_two_phase) {
+			LOGP(DRLCMAC, LOGL_DEBUG, "Forcing two phase access\n");
+			chan_req.single_block = true;
+		}
 	}
 
 	/* TODO: handle Radio Priority (see 3GPP TS 44.060, table 11.2.5a.5) */
diff --git a/src/bts.h b/src/bts.h
index 63f80a8..06eb07c 100644
--- a/src/bts.h
+++ b/src/bts.h
@@ -129,6 +129,8 @@
 	CTR_PCH_REQUESTS_TIMEDOUT,
 	CTR_RACH_REQUESTS,
 	CTR_RACH_REQUESTS_11BIT,
+	CTR_RACH_REQUESTS_ONE_PHASE,
+	CTR_RACH_REQUESTS_TWO_PHASE,
 	CTR_SPB_UL_FIRST_SEGMENT,
 	CTR_SPB_UL_SECOND_SEGMENT,
 	CTR_SPB_DL_FIRST_SEGMENT,
diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err
index 26ba446..27be4f0 100644
--- a/tests/tbf/TbfTest.err
+++ b/tests/tbf/TbfTest.err
@@ -1719,6 +1719,7 @@
 === start test_tbf_single_phase ===
 Found first unallocated TRX=0 TFI=0
 MS requests Uplink resource on CCCH/RACH: ra=0x03 (8 bit) Fn=2654167 qta=31
+MS requests single TS uplink transmission (one phase packet access)
 Creating MS object, TLLI = 0xffffffff
 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) ********** UL-TBF starts here **********
 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Allocating UL TBF
@@ -2445,6 +2446,7 @@
 DL_ASS_TBF(UL-TFI_0){SEND_ASS}: Deallocated
 Found first unallocated TRX=0 TFI=0
 MS requests Uplink resource on CCCH/RACH: ra=0x03 (8 bit) Fn=2654275 qta=31
+MS requests single TS uplink transmission (one phase packet access)
 Creating MS object, TLLI = 0xffffffff
 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) ********** UL-TBF starts here **********
 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Allocating UL TBF
@@ -7104,6 +7106,7 @@
 === end test_tbf_epdan_out_of_rx_window ===
 === start test_immediate_assign_rej_multi_block ===
 MS requests Uplink resource on CCCH/RACH: ra=0x78 (8 bit) Fn=2654167 qta=31
+MS requests single TS uplink transmission (one phase packet access)
 Creating MS object, TLLI = 0xffffffff
 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) ********** UL-TBF starts here **********
 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Allocating UL TBF
@@ -7131,6 +7134,7 @@
 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7
 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0
 MS requests Uplink resource on CCCH/RACH: ra=0x79 (8 bit) Fn=2654167 qta=31
+MS requests single TS uplink transmission (one phase packet access)
 Creating MS object, TLLI = 0xffffffff
 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) ********** UL-TBF starts here **********
 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Allocating UL TBF
@@ -7158,6 +7162,7 @@
 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7
 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=1 USF=1
 MS requests Uplink resource on CCCH/RACH: ra=0x7a (8 bit) Fn=2654167 qta=31
+MS requests single TS uplink transmission (one phase packet access)
 Creating MS object, TLLI = 0xffffffff
 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) ********** UL-TBF starts here **********
 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Allocating UL TBF
@@ -7185,6 +7190,7 @@
 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7
 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=2 USF=2
 MS requests Uplink resource on CCCH/RACH: ra=0x7b (8 bit) Fn=2654167 qta=31
+MS requests single TS uplink transmission (one phase packet access)
 Creating MS object, TLLI = 0xffffffff
 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) ********** UL-TBF starts here **********
 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Allocating UL TBF
@@ -7212,6 +7218,7 @@
 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7
 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=3 USF=3
 MS requests Uplink resource on CCCH/RACH: ra=0x7c (8 bit) Fn=2654167 qta=31
+MS requests single TS uplink transmission (one phase packet access)
 Creating MS object, TLLI = 0xffffffff
 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) ********** UL-TBF starts here **********
 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Allocating UL TBF
@@ -7239,6 +7246,7 @@
 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7
 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=4 USF=4
 MS requests Uplink resource on CCCH/RACH: ra=0x7d (8 bit) Fn=2654167 qta=31
+MS requests single TS uplink transmission (one phase packet access)
 Creating MS object, TLLI = 0xffffffff
 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) ********** UL-TBF starts here **********
 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Allocating UL TBF
@@ -7266,6 +7274,7 @@
 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7
 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=5 USF=5
 MS requests Uplink resource on CCCH/RACH: ra=0x7e (8 bit) Fn=2654167 qta=31
+MS requests single TS uplink transmission (one phase packet access)
 Creating MS object, TLLI = 0xffffffff
 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) ********** UL-TBF starts here **********
 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Allocating UL TBF
@@ -7293,6 +7302,7 @@
 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7
 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=6 USF=6
 MS requests Uplink resource on CCCH/RACH: ra=0x7f (8 bit) Fn=2654167 qta=31
+MS requests single TS uplink transmission (one phase packet access)
 Creating MS object, TLLI = 0xffffffff
 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) ********** UL-TBF starts here **********
 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Allocating UL TBF
