diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn
index 1db82b7..d558412 100644
--- a/library/RSL_Emulation.ttcn
+++ b/library/RSL_Emulation.ttcn
@@ -184,38 +184,6 @@
 	rsl := rsl
 }
 
-template RSL_Message tr_RSL_MsgType(template RSL_MessageType msg_type) := {
-	msg_disc := ?,
-	msg_type := msg_type,
-	ies := *
-}
-
-/* Common Channel Management */
-template RSL_Message tr_RSL_MsgTypeC(template RSL_MessageType msg_type) modifies tr_RSL_MsgType := {
-	msg_disc := { RSL_MDISC_CCHAN, ? }
-}
-
-/* RLL */
-template RSL_Message tr_RSL_MsgTypeR(template RSL_MessageType msg_type) modifies tr_RSL_MsgType := {
-	msg_disc := { RSL_MDISC_RLL, true }
-}
-
-/* Dedicated Channel Management */
-template RSL_Message tr_RSL_MsgTypeD(template RSL_MessageType msg_type) modifies tr_RSL_MsgType := {
-	msg_disc := { RSL_MDISC_DCHAN, ? }
-}
-
-/* Dedicated Channel Management */
-template RSL_Message tr_RSL_MsgTypeT(template RSL_MessageType msg_type) modifies tr_RSL_MsgType := {
-	msg_disc := { RSL_MDISC_TRX_MGMT, ? }
-}
-
-
-/* dedicated channel or RLL */
-template RSL_Message tr_RSL_MsgTypeDR(template RSL_MessageType msg_type) modifies tr_RSL_MsgType := {
-	msg_disc := ({RSL_MDISC_DCHAN,?}, {RSL_MDISC_RLL,true})
-}
-
 private function f_trx_by_streamId(IpaStreamId id) return integer {
 	return enum2int(id);
 }
diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn
index 43f0734..2171fc0 100644
--- a/library/RSL_Types.ttcn
+++ b/library/RSL_Types.ttcn
@@ -531,13 +531,46 @@
 	external function dec_RSL_Message(in octetstring stream) return RSL_Message
 		with { extension "prototype(convert) decode(RAW)" };
 
-	template RSL_Message tr_RSL_MsgType(template RSL_MessageDiscriminator m_disc,
+	template RSL_Message tr_RSL_MsgDiscType(template RSL_MessageDiscriminator m_disc,
 				RSL_MessageType m_type) := {
 		msg_disc := m_disc,
 		msg_type := m_type,
 		ies := *
 	}
 
+template RSL_Message tr_RSL_MsgType(template RSL_MessageType msg_type) := {
+	msg_disc := ?,
+	msg_type := msg_type,
+	ies := *
+}
+
+/* Common Channel Management */
+template RSL_Message tr_RSL_MsgTypeC(template RSL_MessageType msg_type) modifies tr_RSL_MsgType := {
+	msg_disc := { RSL_MDISC_CCHAN, ? }
+}
+
+/* RLL */
+template RSL_Message tr_RSL_MsgTypeR(template RSL_MessageType msg_type) modifies tr_RSL_MsgType := {
+	msg_disc := { RSL_MDISC_RLL, true }
+}
+
+/* Dedicated Channel Management */
+template RSL_Message tr_RSL_MsgTypeD(template RSL_MessageType msg_type) modifies tr_RSL_MsgType := {
+	msg_disc := { RSL_MDISC_DCHAN, ? }
+}
+
+/* Dedicated Channel Management */
+template RSL_Message tr_RSL_MsgTypeT(template RSL_MessageType msg_type) modifies tr_RSL_MsgType := {
+	msg_disc := { RSL_MDISC_TRX_MGMT, ? }
+}
+
+
+/* dedicated channel or RLL */
+template RSL_Message tr_RSL_MsgTypeDR(template RSL_MessageType msg_type) modifies tr_RSL_MsgType := {
+	msg_disc := ({RSL_MDISC_DCHAN,?}, {RSL_MDISC_RLL,true})
+}
+
+
 	/* 8.3.1 BSC -> BTS */
 	template RSL_Message ts_RSL_DATA_REQ(RslChannelNr chan_nr, RslLinkId link_id, octetstring l3_info) := {
 		msg_disc := ts_RSL_MsgDisc(RSL_MDISC_RLL, true),
