diff --git a/pcu/PCUIF_RAW_Components.ttcn b/pcu/PCUIF_RAW_Components.ttcn
index 2297bbd..7feeca2 100644
--- a/pcu/PCUIF_RAW_Components.ttcn
+++ b/pcu/PCUIF_RAW_Components.ttcn
@@ -97,8 +97,30 @@
 	data := { tdma_fn := ? }
 }
 
+/* Commands are mostly used by the MTC to configure the components
+ * at run-time, e.g. to enable or disable some optional features. */
+type enumerated RAW_PCU_CommandType {
+	TDMA_CMD_ENABLE_PTCCH_UL_FWD	/*!< Enable forwarding of TDMA_EV_PTCCH_UL_BURST to the MTC */
+};
+
+type record RAW_PCU_Command {
+	RAW_PCU_CommandType cmd,
+	anytype data optional
+};
+
+template (value) RAW_PCU_Command ts_RAW_PCU_CMD(RAW_PCU_CommandType cmd) := {
+	cmd := cmd,
+	data := omit
+}
+template RAW_PCU_Command tr_RAW_PCU_CMD(template RAW_PCU_CommandType cmd := ?,
+					template anytype data := *) := {
+	cmd := cmd,
+	data := data
+}
+
 /* Generic port for messages and events */
 type port RAW_PCU_MSG_PT message {
+	inout RAW_PCU_Command;
 	inout RAW_PCU_Event;
 	inout PCUIF_Message;
 } with { extension "internal" };
@@ -191,6 +213,9 @@
 	port RAW_PCU_MSG_PT PCUIF;
 	/* Connection towards the test case */
 	port RAW_PCU_MSG_PT TC;
+
+	/* Whether to forward PTCCH/U burst events to the TC */
+	var boolean cfg_ptcch_burst_fwd := false;
 }
 
 private altstep as_BTS_CT_MsgQueue(integer bts_nr)
@@ -260,6 +285,11 @@
 		PCUIF.send(pcu_msg);
 		repeat;
 		}
+	/* Optional forwarding of PTCCH/U burst indications to the test case */
+	[cfg_ptcch_burst_fwd] CLCK.receive(tr_RAW_PCU_EV(TDMA_EV_PTCCH_UL_BURST)) -> value event {
+		TC.send(event);
+		repeat;
+		}
 	/* Ignore other clock events (and guard against an empty queue) */
 	[] CLCK.receive(tr_RAW_PCU_CLCK_EV) { repeat; }
 }
@@ -267,6 +297,7 @@
 function f_BTS_CT_handler(integer bts_nr, PCUIF_info_ind info_ind)
 runs on RAW_PCU_BTS_CT {
 	var PCUIF_Message pcu_msg;
+	var RAW_PCU_Command cmd;
 	var RAW_PCU_Event event;
 
 	/* Init TDMA clock generator (so we can stop and start it) */
@@ -308,6 +339,17 @@
 	/* TDMA scheduler (clock and queue handling) */
 	[] as_BTS_CT_TDMASched(bts_nr);
 
+	/* Command handling */
+	[] TC.receive(tr_RAW_PCU_CMD(TDMA_CMD_ENABLE_PTCCH_UL_FWD)) {
+		log("Enabling forwarding of PTCCH/U TDMA events to the TC");
+		cfg_ptcch_burst_fwd := true;
+		repeat;
+		}
+	[] TC.receive(tr_RAW_PCU_CMD) -> value cmd {
+		log("Ignore unhandled command: ", cmd);
+		repeat;
+		}
+
 	/* TODO: handle events (e.g. disconnection) from the PCU interface */
 	[] PCUIF.receive(tr_RAW_PCU_EV) -> value event {
 		log("Ignore unhandled event: ", event);
