diff --git a/openbsc/src/gprs/gprs_llc.c b/openbsc/src/gprs/gprs_llc.c
index c2c3900..2be663f 100644
--- a/openbsc/src/gprs/gprs_llc.c
+++ b/openbsc/src/gprs/gprs_llc.c
@@ -137,7 +137,7 @@
 				     struct gprs_llc_lle *lle)
 {
 	/* Note: This function handles the response of a network originated
-	 * XID-Request. There XID messages reflected by the phone are analyzed
+	 * XID-Request. There XID messages reflected by the MS are analyzed
 	 * and processed here. The caller is called by rx_llc_xid(). */
 
 	struct llist_head *xid_fields;
@@ -205,7 +205,7 @@
 				    struct gprs_llc_lle *lle)
 {
 	/* Note: This function computes the response that is sent back to the
-	 * phone when a phone originated XID is received. The function is
+	 * MS when a mobile originated XID is received. The function is
 	 * called by rx_llc_xid() */
 
 	int rc = -EINVAL;
@@ -232,7 +232,7 @@
 				 * for validity. Currently we just blindly
 				 * accept all XID fields by just echoing them.
 				 * There is a remaining risk of malfunction
-				 * when a phone submits values which defer from
+				 * when a MS submits values which defer from
 				 * the default! */
 				LOGP(DLLC, LOGL_NOTICE,
 				     "Echoing XID-Field: XID: type %s, data_len=%d, data=%s\n",
@@ -276,7 +276,7 @@
 	return rc;
 }
 
-/* Dispatch XID indications and responses comming from the Phone */
+/* Dispatch XID indications and responses comming from the MS */
 static void rx_llc_xid(struct gprs_llc_lle *lle,
 		       struct gprs_llc_hdr_parsed *gph)
 {
@@ -286,7 +286,7 @@
 	/* FIXME: 8.5.3.3: check if XID is invalid */
 	if (gph->is_cmd) {
 		LOGP(DLLC, LOGL_NOTICE,
-		     "Received XID indication from phone.\n");
+		     "Received XID indication from MS.\n");
 
 		struct msgb *resp;
 		uint8_t *xid;
@@ -306,7 +306,7 @@
 		gprs_llc_tx_xid(lle, resp, 0);
 	} else {
 		LOGP(DLLC, LOGL_NOTICE,
-		     "Received XID confirmation from phone.\n");
+		     "Received XID confirmation from MS.\n");
 		gprs_llc_process_xid_conf(gph->data, gph->data_len, lle);
 		/* FIXME: if we had sent a XID reset, send
 		 * LLGMM-RESET.conf to GMM */
@@ -342,7 +342,7 @@
 		else
 			ftype = "NULL";
 		LOGP(DLLC, LOGL_NOTICE, "Sending XID type %s (%d bytes) request"
-		     " to phone...\n", ftype, xid_bytes_len);
+		     " to MS...\n", ftype, xid_bytes_len);
 		gprs_llc_tx_xid(lle, msg, 1);
 	} else {
 		LOGP(DLLC, LOGL_ERROR,
