diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index 696a10e..1859eed 100644
--- a/bts/BTS_Tests.ttcn
+++ b/bts/BTS_Tests.ttcn
@@ -7380,7 +7380,7 @@
 	/* ... and expect the DISC on the Um side */
 	alt {
 	[] as_l1_exp_lapdm(tr_LAPDm_DISC(tc.sapi, cr_MT_CMD, true))  {
-		/* FIXME: send a UA in resposne to the DISC */
+		/* FIXME: send a UA in response to the DISC */
 		}
 	}
 
diff --git a/library/MGCP_Emulation.ttcn b/library/MGCP_Emulation.ttcn
index 9a92b9c..53aae1b 100644
--- a/library/MGCP_Emulation.ttcn
+++ b/library/MGCP_Emulation.ttcn
@@ -293,7 +293,7 @@
 			msg := {
 				response := resp
 			};
-			/* If this is the resposne to a pending CRCX, extract Endpoint and store in table */
+			/* If this is the response to a pending CRCX, extract Endpoint and store in table */
 			if (f_trans_id_was_pending(resp.line.trans_id)) {
 				f_ep_table_add(vc_conn, f_mgcp_ep(msg));
 			}
@@ -304,7 +304,7 @@
 
 		/* MGCP from client in Multi Conn mode */
 		[p.multi_conn_mode] MGCP_CLIENT_MULTI.receive(MGCP_SendTo:?) -> value mst sender vc_conn {
-			/* If this is the resposne to a pending CRCX, extract Endpoint and store in table */
+			/* If this is the response to a pending CRCX, extract Endpoint and store in table */
 			if (f_trans_id_was_pending(mst.msg.response.line.trans_id)) {
 				f_ep_table_add(vc_conn, f_mgcp_ep(mst.msg));
 			}
@@ -418,7 +418,7 @@
 	return ret;
 }
 
-/* Function that can be used as create_cb and will usse the expect table */
+/* Function that can be used as create_cb and will use the expect table */
 function ExpectedCreateCallback(MgcpCommand cmd, charstring id)
 runs on MGCP_Emulation_CT return MGCP_ConnHdlr {
 	var MGCP_ConnHdlr ret := null;
diff --git a/library/S1AP_Emulation.ttcn b/library/S1AP_Emulation.ttcn
index d09b499..0ecbd99 100644
--- a/library/S1AP_Emulation.ttcn
+++ b/library/S1AP_Emulation.ttcn
@@ -485,7 +485,7 @@
 	inout S1APEM_register;
 } with { extension "internal" };
 
-/* Function that can be used as create_cb and will usse the expect table */
+/* Function that can be used as create_cb and will use the expect table */
 function ExpectedCreateCallback(S1AP_PDU msg, hexstring imsi, charstring id)
 runs on S1AP_Emulation_CT return S1AP_ConnHdlr {
 	var S1AP_ConnHdlr ret := null;
diff --git a/library/SGsAP_Emulation.ttcn b/library/SGsAP_Emulation.ttcn
index 6cd1052..b860fe2 100644
--- a/library/SGsAP_Emulation.ttcn
+++ b/library/SGsAP_Emulation.ttcn
@@ -415,7 +415,7 @@
 	inout SGsAPEM_register, SGsAPEM_reset_vlr, SGsAPEM_reset_mme;
 } with { extension "internal" };
 
-/* Function that can be used as create_cb and will usse the expect table */
+/* Function that can be used as create_cb and will use the expect table */
 function ExpectedCreateCallback(PDU_SGsAP msg, hexstring imsi, charstring id)
 runs on SGsAP_Emulation_CT return SGsAP_ConnHdlr {
 	var SGsAP_ConnHdlr ret := null;
diff --git a/library/rua/RUA_Emulation.ttcn b/library/rua/RUA_Emulation.ttcn
index 2d6291d..40eb3b7 100644
--- a/library/rua/RUA_Emulation.ttcn
+++ b/library/rua/RUA_Emulation.ttcn
@@ -365,7 +365,7 @@
 	T.start;
 	alt {
 	[] RUA.receive(tr_RUA_ConnectionlessTransfer(decmatch tr_RANAP_ResetAck)) {
-		log("RUA-RANAP: Received RESET-ACK in resposne to RESET, we're reay to go!");
+		log("RUA-RANAP: Received RESET-ACK in response to RESET, we're reay to go!");
 		}
 	[] as_reset_ack();
 	[] RUA.receive { repeat; }
