diff --git a/openbsc/include/openbsc/meas_rep.h b/openbsc/include/openbsc/meas_rep.h
index 6d36f34..b0c03f0 100644
--- a/openbsc/include/openbsc/meas_rep.h
+++ b/openbsc/include/openbsc/meas_rep.h
@@ -39,7 +39,8 @@
 	struct gsm_meas_rep_unidir dl;
 
 	uint8_t bs_power;
-	uint8_t ms_timing_offset;
+	/* according to 3GPP TS 48.058 § MS Timing Offset [-63; 192] */
+	int16_t ms_timing_offset;
 	struct {
 		int8_t pwr;	/* MS power in dBm */
 		uint8_t ta;	/* MS timing advance */
diff --git a/openbsc/src/libbsc/abis_rsl.c b/openbsc/src/libbsc/abis_rsl.c
index 5ae707c..be687eb 100644
--- a/openbsc/src/libbsc/abis_rsl.c
+++ b/openbsc/src/libbsc/abis_rsl.c
@@ -41,6 +41,7 @@
 #include <openbsc/signal.h>
 #include <openbsc/meas_rep.h>
 #include <openbsc/rtp_proxy.h>
+#include <openbsc/gsm_subscriber.h>
 #include <osmocom/abis/e1_input.h>
 #include <osmocom/gsm/rsl.h>
 #include <osmocom/core/talloc.h>
@@ -1369,8 +1370,14 @@
 	int i;
 	const char *name = "";
 
-	if (lchan && lchan->conn)
-		name = bsc_subscr_name(lchan->conn->bsub);
+	if (lchan && lchan->conn) {
+		if (lchan->conn->bsub)
+			name = bsc_subscr_name(lchan->conn->bsub);
+		else if (lchan->conn->subscr)
+			name = lchan->conn->subscr->imsi;
+		else
+			name = lchan->name;
+	}
 
 	DEBUGP(DMEAS, "[%s] MEASUREMENT RESULT NR=%d ", name, mr->nr);
 
@@ -1379,6 +1386,7 @@
 
 	print_meas_rep_uni(&mr->ul, "ul");
 	DEBUGPC(DMEAS, "BS_POWER=%d ", mr->bs_power);
+
 	if (mr->flags & MEAS_REP_F_MS_TO)
 		DEBUGPC(DMEAS, "MS_TO=%d ", mr->ms_timing_offset);
 
@@ -1452,9 +1460,11 @@
 	mr->bs_power = *TLVP_VAL(&tp, RSL_IE_BS_POWER);
 
 	/* Optional Parts */
-	if (TLVP_PRESENT(&tp, RSL_IE_MS_TIMING_OFFSET))
-		mr->ms_timing_offset =
-			*TLVP_VAL(&tp, RSL_IE_MS_TIMING_OFFSET);
+	if (TLVP_PRESENT(&tp, RSL_IE_MS_TIMING_OFFSET)) {
+		/* According to 3GPP TS 48.058 § MS Timing Offset = Timing Offset field - 63 */
+		mr->ms_timing_offset = *TLVP_VAL(&tp, RSL_IE_MS_TIMING_OFFSET) - 63;
+		mr->flags |= MEAS_REP_F_MS_TO;
+	}
 
 	if (TLVP_PRESENT(&tp, RSL_IE_L1_INFO)) {
 		struct e1inp_sign_link *sign_link = msg->dst;
diff --git a/openbsc/src/libbsc/bsc_vty.c b/openbsc/src/libbsc/bsc_vty.c
index c1882fc..3c70580 100644
--- a/openbsc/src/libbsc/bsc_vty.c
+++ b/openbsc/src/libbsc/bsc_vty.c
@@ -1062,8 +1062,7 @@
 			mr->flags & MEAS_REP_F_DL_VALID ? " " : "DLinval ",
 			VTY_NEWLINE);
 	if (mr->flags & MEAS_REP_F_MS_TO)
-		vty_out(vty, "%s  MS Timing Offset: %u%s", prefix,
-			mr->ms_timing_offset, VTY_NEWLINE);
+		vty_out(vty, "%s  MS Timing Offset: %d%s", prefix, mr->ms_timing_offset, VTY_NEWLINE);
 	if (mr->flags & MEAS_REP_F_MS_L1)
 		vty_out(vty, "%s  L1 MS Power: %u dBm, Timing Advance: %u%s",
 			prefix, mr->ms_l1.pwr, mr->ms_l1.ta, VTY_NEWLINE);
diff --git a/openbsc/src/libmsc/smpp_openbsc.c b/openbsc/src/libmsc/smpp_openbsc.c
index 2703a24..1671a62 100644
--- a/openbsc/src/libmsc/smpp_openbsc.c
+++ b/openbsc/src/libmsc/smpp_openbsc.c
@@ -437,8 +437,8 @@
 		append_tlv_u8(req_tlv, TLVID_osmo_ta, mr->ms_l1.ta);
 		ms_dbm = ms_pwr_dbm(lchan->ts->trx->bts->band, mr->ms_l1.pwr);
 		append_tlv_u8(req_tlv, TLVID_osmo_ms_l1_txpwr, ms_dbm);
-	} else if (mr->flags & MEAS_REP_F_MS_TO)
-		append_tlv_u8(req_tlv, TLVID_osmo_ta, mr->ms_timing_offset);
+	} else if (mr->flags & MEAS_REP_F_MS_TO) /* Save Timing Offset field = MS Timing Offset + 63 */
+		append_tlv_u8(req_tlv, TLVID_osmo_ta, mr->ms_timing_offset + 63);
 
 	append_tlv_u16(req_tlv, TLVID_osmo_rxlev_ul,
 		       rxlev2dbm(ul_meas->full.rx_lev));
diff --git a/openbsc/src/utils/meas_db.c b/openbsc/src/utils/meas_db.c
index a3b694e..d81efca 100644
--- a/openbsc/src/utils/meas_db.c
+++ b/openbsc/src/utils/meas_db.c
@@ -114,8 +114,7 @@
 	SCK_OK(st->db, sqlite3_bind_int(st->stmt_ins_mr, 6, mr->bs_power));
 
 	if (mr->flags & MEAS_REP_F_MS_TO)
-		SCK_OK(st->db, sqlite3_bind_int(st->stmt_ins_mr, 7,
-						mr->ms_timing_offset));
+		SCK_OK(st->db, sqlite3_bind_int(st->stmt_ins_mr, 7, mr->ms_timing_offset));
 	else
 		SCK_OK(st->db, sqlite3_bind_null(st->stmt_ins_mr, 7));
 
diff --git a/openbsc/src/utils/meas_vis.c b/openbsc/src/utils/meas_vis.c
index 316d203..77194de 100644
--- a/openbsc/src/utils/meas_vis.c
+++ b/openbsc/src/utils/meas_vis.c
@@ -200,7 +200,7 @@
 				  COLS-40, rxlev2dbm(lq->rx_lev), -110, -47,
 				  1, 2, FALSE, FALSE);
 	//IsVisibleObj(ms->ul.cdk) = FALSE;
-	snprintf(msu->label, sizeof(msu->label), "</%d>%1d<!%d> %3d %2u %2u %4u",
+	snprintf(msu->label, sizeof(msu->label), "</%d>%1d<!%d> %3d %2u %2d %4u",
 		 qual_col, lq->rx_qual, qual_col, pwr,
 		 ms->mr.ms_l1.ta, ms->mr.ms_timing_offset,
 		 now - msu->last_update);
