diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn
index a8b6db2..75be6f8 100644
--- a/library/GSM_RR_Types.ttcn
+++ b/library/GSM_RR_Types.ttcn
@@ -366,68 +366,6 @@
 		uint3_t		non_drx_timer
 	} with { variant "" };
 
-	/* 44.018 10.5.2.3 */
-	type enumerated CellOptions_DTX {
-		MS_MAY_USE_UL_DTX	('00'B),
-		MS_SHALL_USE_UL_DTX	('01'B),
-		MS_SHALL_NOT_USE_UL_DTX	('10'B)
-	} with { variant "FIELDLENGTH(2)" };
-	type record CellOptions {
-		boolean		dn_ind,
-		boolean		pwrc,
-		CellOptions_DTX	dtx,
-		uint4_t		radio_link_tout_div4
-	} with { variant "" };
-
-	/* 44.018 10.5.2.4 */
-	type record CellSelectionPars {
-		uint3_t		cell_resel_hyst_2dB,
-		uint5_t		ms_txpwr_max_cch,
-		BIT1		acs,
-		boolean		neci,
-		uint6_t		rxlev_access_min
-	} with { variant "" };
-
-	/* 44.018 10.5.2.29 */
-	type enumerated RachCtrlPar_MR {
-		RACH_MAX_RETRANS_1	('00'B),
-		RACH_MAX_RETRANS_2	('01'B),
-		RACH_MAX_RETRANS_4	('10'B),
-		RACH_MAX_RETRANS_7	('11'B)
-	} with { variant "FIELDLENGTH(2)" };
-	type record RachControlPars {
-		RachCtrlPar_MR	max_retrans,
-		BIT4		tx_integer,
-		boolean		cell_bar_access,
-		boolean		re_not_allowed,
-		BIT16		acc
-	} with { variant "" };
-
-	/* 44.018 10.5.2.11 */
-	type enumerated CtrlChanDesc_CC {
-		CCHAN_DESC_1CCCH_NOT_COMBINED	('000'B),
-		CCHAN_DESC_1CCCH_COMBINED	('001'B),
-		CCHAN_DESC_2CCCH_NOT_COMBINED	('010'B),
-		CCHAN_DESC_3CCCH_NOT_COMBINED	('100'B),
-		CCHAN_DESC_4CCCH_NOT_COMBINED	('110'B)
-	} with { variant "FIELDLENGTH(3)" };
-	type enumerated CBQ3 {
-		CBQ3_IU_MODE_NOT_SUPPORTED	('00'B),
-		CBQ3_IU_MODE_MS_BARRED		('01'B),
-		CBQ3_IU_MODE_NOT_BARRED		('10'B)
-	} with { variant "FIELDLENGTH(2)" };
-	type record CtrlChanDesc {
-		boolean		msc_r99,
-		boolean		att,
-		uint3_t		bs_ag_blks_res,
-		CtrlChanDesc_CC	ccch_conf,
-		boolean		si22_ind,
-		CBQ3		cbq3,
-		BIT2		spare,
-		uint3_t		bs_pa_mfrms, /* off by 2 */
-		uint8_t		t3212
-	} with { variant "" };
-
 	/* 24.008 10.5.5.15 */
 	type record RoutingAreaIdentification {
 		LocationAreaIdentification	lai,
@@ -639,30 +577,19 @@
 		RestOctets			rest_octets
 	} with { variant "" };
 
-	/* 9.1.35 */
-	type record SystemInformationType3 {
-		CellIdentity			cell_id,
-		LocationAreaIdentification	lai,
-		CtrlChanDesc			ctrl_chan_desc,
-		CellOptions			cell_opts,
-		CellSelectionPars		cell_sel_pars,
-		RachControlPars			rach_ctrl_pars,
-		RestOctets			rest_octets
-	} with { variant (rest_octets) "FIELDLENGTH(4)" };
-
 	type union RrUnion {
 /*
 		SystemInformationType1		si1,
 		SystemInformationType2		si2,
 		SystemInformationType2bis	si2bis,
 		SystemInformationType2ter	si2ter,
+		SystemInformationType3		si3,
 		SystemInformationType4		si4,
 		SystemInformationType5		si5,
 		SystemInformationType5bis	si5bis,
 		SystemInformationType5ter	si5ter,
 		SystemInformationType6		si6,
 */
-		SystemInformationType3		si3,
 		ImmediateAssignment		imm_ass,
 		ImmediateAssignmentReject	imm_ass_rej,
 		PagingRequestType1		pag_req_1,
