diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 518f9e1..c3275e1 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -1263,7 +1263,7 @@
 
 	f_bssap_tx_ud(ts_BSSMAP_Paging(imsi, cid_list, tmsi, bssmap_chneed));
 
-/* FIXME: Disabled due to bugs in both GSM_RR_Types and MobileL3_CommonIE_Types IMSI encoder 
+/* FIXME: Disabled due to bugs in both GSM_RR_Types and MobileL3_CommonIE_Types IMSI encoder
 	if (isvalue(tmsi)) {
 		mi := valueof(t_Osmo_MI_TMSI(oct2int(valueof(tmsi))));
 	} else {
@@ -3171,7 +3171,7 @@
 	var octetstring ho_command_str;
 
 	BSSAP.receive(tr_BSSMAP_HandoverRequestAcknowledge(?)) -> value rx_bssap;
-	
+
 	ho_command_str := rx_bssap.pdu.bssmap.handoverRequestAck.layer3Information.layer3info;
 	log("Received L3 Info in HO Request Ack: ", ho_command_str);
 	var PDU_ML3_NW_MS ho_command := dec_PDU_ML3_NW_MS(ho_command_str);
diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn
index c7f6495..c709794 100644
--- a/bsc/MSC_ConnectionHandler.ttcn
+++ b/bsc/MSC_ConnectionHandler.ttcn
@@ -1091,7 +1091,7 @@
 		}
 		}
 	[st.rr_ho_cmpl_seen] as_Media_ipacc();
-	[st.rr_ho_cmpl_seen] as_Media_mgw(true);	
+	[st.rr_ho_cmpl_seen] as_Media_mgw(true);
 	[st.rr_ho_cmpl_seen] RSL.receive(tr_RSL_DEACT_SACCH(st.old_chan_nr)) {
 		repeat;
 		}
diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp
index 3180621..3ec6922 100644
--- a/library/IPA_Emulation.ttcnpp
+++ b/library/IPA_Emulation.ttcnpp
@@ -2,7 +2,7 @@
 
 /* This module implements the IPA multiplex protocol on top of TCP, using the IPL4asp
  * test-port as provider.  It implements both client and server roles, as well was the CCM
- * handshake for establishing the identity of the client to the server.  
+ * handshake for establishing the identity of the client to the server.
  *
  * It already knows certain well-known sub-protocols such as A-bis RSL, MGCP and SCCP and
  * GSUP.  IT hence transcodes messages so the user can work with abstract data types rather
@@ -258,7 +258,7 @@
 function f_bind(charstring local_host, IPL4asp_Types.PortNumber local_port,
 		IPA_CCM_Parameters ccm_pars := c_IPA_default_ccm_pars) runs on IPA_Emulation_CT {
 	var IPL4asp_Types.Result res;
-	res := IPA_CodecPort_CtrlFunct.f_IPL4_listen(IPA_PORT, 
+	res := IPA_CodecPort_CtrlFunct.f_IPL4_listen(IPA_PORT,
 						local_host, local_port, { tcp:={} });
 	if (not ispresent(res.connId)) {
 		setverdict(fail, "Could not listen IPA socket ", local_host, ":", local_port, ", check your configuration");
diff --git a/library/Osmocom_CTRL_Functions.ttcn b/library/Osmocom_CTRL_Functions.ttcn
index 4356ba9..94dcb8a 100644
--- a/library/Osmocom_CTRL_Functions.ttcn
+++ b/library/Osmocom_CTRL_Functions.ttcn
@@ -6,7 +6,7 @@
  * implements blocking functions, instead of asynchronous functions.  The
  * rationale for this is simple: One normally wants to inquire a value or set
  * a value and not continue the main program until that operation is complete.
- * 
+ *
  * CTRL is a machine-type protocol on how external programs can interact with
  * an Osmocom program in a structured way.  It is intended for programmatic
  * access (by other software), as opposed to the VTY interface intended for
