diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn
index facaa59..8294f2a 100644
--- a/pcu/PCU_Tests.ttcn
+++ b/pcu/PCU_Tests.ttcn
@@ -384,7 +384,7 @@
 
 	/* Establish BSSGP connection to the PCU */
 	f_bssgp_establish();
-	f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli);
+	f_bssgp_client_llgmm_assign(TLLI_UNUSED, tlli);
 
 	/* SGSN sends some DL data, PCU will initiate Packet Downlink
 	 * Assignment on CCCH (PCH). We don't care about the payload. */
@@ -1212,7 +1212,7 @@
 
 	/* Establish BSSGP connection to the PCU */
 	f_bssgp_establish();
-	f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli);
+	f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli);
 
 	/* Establish an Uplink TBF */
 	f_ms_establish_ul_tbf(ms);
@@ -1256,7 +1256,7 @@
 
 	/* Establish BSSGP connection to the PCU */
 	f_bssgp_establish();
-	f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli);
+	f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli);
 
 	/* SGSN sends some DL data, PCU will page on CCCH (PCH) */
 	BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data));
@@ -1306,7 +1306,7 @@
 
 	/* Establish BSSGP connection to the PCU */
 	f_bssgp_establish();
-	f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli);
+	f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli);
 
 	/* Establish an Uplink TBF */
 	f_ms_establish_ul_tbf(ms);
@@ -1357,7 +1357,7 @@
 
 	/* Establish BSSGP connection to the PCU */
 	f_bssgp_establish();
-	f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli);
+	f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli);
 
 	/* Establish an Uplink TBF */
 	f_ms_establish_ul_tbf(ms);
@@ -1492,7 +1492,7 @@
 
 	/* Establish BSSGP connection to the PCU */
 	f_bssgp_establish();
-	f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli);
+	f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli);
 
 	/* Establish an Uplink TBF */
 	f_ms_establish_ul_tbf(ms);
@@ -1525,7 +1525,7 @@
 
 	/* Establish BSSGP connection to the PCU */
 	f_bssgp_establish();
-	f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli);
+	f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli);
 
 	/* Establish an Uplink TBF */
 	f_ms_establish_ul_tbf(ms);
@@ -1591,7 +1591,7 @@
 
 	/* Establish BSSGP connection to the PCU */
 	f_bssgp_establish();
-	f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli);
+	f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli);
 
 	/* Send PACKET RESOURCE REQUEST to upgrade to EGPRS */
 	pollctx := f_ms_establish_ul_tbf_2phase_access(ms, ts_RlcMacUlCtrl_PKT_RES_REQ(ms.tlli, ms_racap));
@@ -1697,7 +1697,7 @@
 
 	/* Establish BSSGP connection to the PCU */
 	f_bssgp_establish();
-	f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli);
+	f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli);
 
 	/* SGSN sends some DL data, PCU will page on CCCH (PCH) */
 	BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data, ms_racap));
@@ -1772,7 +1772,7 @@
 
 	/* Establish BSSGP connection to the PCU */
 	f_bssgp_establish();
-	f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli);
+	f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli);
 
 	/* Establish an Uplink TBF */
 	f_ms_establish_ul_tbf(ms);
@@ -1851,7 +1851,7 @@
 
 	/* Establish BSSGP connection to the PCU */
 	f_bssgp_establish();
-	f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli);
+	f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli);
 
 	/* SGSN sends some DL data, PCU will page on CCCH (PCH) */
 	BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data));
@@ -1902,7 +1902,7 @@
 
 	/* Establish BSSGP connection to the PCU */
 	f_bssgp_establish();
-	f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli);
+	f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli);
 
 	/* SGSN sends some DL data, PCU will page on CCCH (PCH) */
 	BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data));
@@ -1987,7 +1987,7 @@
 
 	/* Establish BSSGP connection to the PCU */
 	f_bssgp_establish();
-	f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli);
+	f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli);
 
 	/* Establish an Uplink TBF */
 	f_ms_establish_ul_tbf(ms);
@@ -2242,7 +2242,7 @@
 
 	/* Establish BSSGP connection to the PCU */
 	f_bssgp_establish();
-	f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli);
+	f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli);
 
 	/* Establish an Uplink TBF */
 	f_ms_establish_ul_tbf(ms);
@@ -2308,7 +2308,7 @@
 
 	/* Establish BSSGP connection to the PCU */
 	f_bssgp_establish();
-	f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli);
+	f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli);
 
 	/* Establish an Uplink TBF */
 	f_ms_establish_ul_tbf(ms);
@@ -2352,7 +2352,7 @@
 
 	/* Establish BSSGP connection to the PCU */
 	f_bssgp_establish();
-	f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli);
+	f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli);
 
 	/* Establish an Uplink TBF */
 	f_ms_establish_ul_tbf(ms);
@@ -2414,7 +2414,7 @@
 
 	/* Establish BSSGP connection to the PCU */
 	f_bssgp_establish();
-	f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli);
+	f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli);
 
 	/* Send BSSGP PAGING-PS (with or without TMSI), wait for RR Paging Request Type 1.
 	 * Make sure that both paging group (IMSI suffix) and Mobile Identity match. */
@@ -2463,7 +2463,7 @@
 
 	/* Establish BSSGP connection to the PCU */
 	f_bssgp_establish();
-	f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli);
+	f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli);
 
 	/* Establish an Uplink TBF */
 	f_ms_establish_ul_tbf(ms);
@@ -2522,7 +2522,7 @@
 
 	/* Establish BSSGP connection to the PCU */
 	f_bssgp_establish();
-	f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli);
+	f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli);
 
 	/* Establish an Uplink TBF */
 	f_ms_establish_ul_tbf(ms);
@@ -2971,7 +2971,7 @@
 
 	/* Establish BSSGP connection to the PCU */
 	f_bssgp_establish();
-	f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli);
+	f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli);
 
 	/* SGSN sends some DL data, PCU will page on CCCH (PCH) */
 	BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, f_rnd_octstring(12)));
@@ -3075,7 +3075,7 @@
 
 	/* Establish BSSGP connection to the PCU */
 	f_bssgp_establish();
-	f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli);
+	f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli);
 
 	/* Establish an Uplink TBF */
 	f_ms_establish_ul_tbf(ms);
