diff --git a/src/bts.cpp b/src/bts.cpp
index ae6117e..2423400 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -83,6 +83,7 @@
 	{ .T=-2000, .default_val=2,   .unit=OSMO_TDEF_MS, .desc="Tbf reject for PRR timer (ms)",            .val=0 },
 	{ .T=-2001, .default_val=2,   .unit=OSMO_TDEF_S,  .desc="PACCH assignment timer (s)",               .val=0 },
 	{ .T=-2002, .default_val=200, .unit=OSMO_TDEF_MS, .desc="Waiting after IMM.ASS confirm timer (ms)", .val=0 },
+	{ .T=-2030, .default_val=60,  .unit=OSMO_TDEF_S,  .desc="Time to keep an idle MS object alive (s)", .val=0 }, /* slightly above T3314 (default 44s, 24.008, 11.2.2) */
 	{ .T=0, .default_val=0, .unit=OSMO_TDEF_S, .desc=NULL, .val=0 } /* empty item at the end */
 };
 
@@ -867,7 +868,7 @@
 	GprsMs *ms;
 	ms = ms_store().create_ms();
 
-	ms->set_timeout(m_bts.ms_idle_sec);
+	ms->set_timeout(osmo_tdef_get(m_bts.T_defs_pcu, -2030, OSMO_TDEF_S, -1));
 	ms->set_ms_class(ms_class);
 	ms->set_egprs_ms_class(egprs_ms_class);
 
diff --git a/src/bts.h b/src/bts.h
index 5e7eeae..5f25d02 100644
--- a/src/bts.h
+++ b/src/bts.h
@@ -140,7 +140,6 @@
 	/* 0 to support resegmentation in DL, 1 for no reseg */
 	uint8_t dl_arq_type;
 
-	uint32_t ms_idle_sec;
 	uint8_t cs_adj_enabled;
 	uint8_t cs_adj_upper_limit;
 	uint8_t cs_adj_lower_limit;
diff --git a/src/pcu_main.cpp b/src/pcu_main.cpp
index 6f71ca5..e423718 100644
--- a/src/pcu_main.cpp
+++ b/src/pcu_main.cpp
@@ -207,7 +207,6 @@
 	bts->n3105 = 8;
 	bts->alpha = 0; /* a = 0.0 */
 	bts->si13_is_set = false;
-	bts->ms_idle_sec = 60; /* slightly above T3314 (default 44s, 24.008, 11.2.2) */
 	bts->cs_adj_enabled = 1;
 	bts->cs_adj_upper_limit = 33; /* Decrease CS if the error rate is above */
 	bts->cs_adj_lower_limit = 10; /* Increase CS if the error rate is below */
diff --git a/src/pcu_vty.c b/src/pcu_vty.c
index 380b173..477486c 100644
--- a/src/pcu_vty.c
+++ b/src/pcu_vty.c
@@ -901,27 +901,31 @@
 }
 
 #define MS_IDLE_TIME_STR "keep an idle MS object alive for the time given\n"
-DEFUN(cfg_pcu_ms_idle_time,
+DEFUN_DEPRECATED(cfg_pcu_ms_idle_time,
       cfg_pcu_ms_idle_time_cmd,
       "ms-idle-time <1-7200>",
       MS_IDLE_TIME_STR "idle time in sec")
 {
+	vty_out(vty, "%% 'ms-idle-time' is now deprecated: use 'timer X2030 <val>' instead%s", VTY_NEWLINE);
+
 	struct gprs_rlcmac_bts *bts = bts_main_data();
 
-	bts->ms_idle_sec = atoi(argv[0]);
-
+	if (osmo_tdef_set(bts->T_defs_pcu, -2030, atoi(argv[0]), OSMO_TDEF_S) < 0)
+		return CMD_WARNING;
 	return CMD_SUCCESS;
 }
 
-DEFUN(cfg_pcu_no_ms_idle_time,
+DEFUN_DEPRECATED(cfg_pcu_no_ms_idle_time,
       cfg_pcu_no_ms_idle_time_cmd,
       "no ms-idle-time",
       NO_STR MS_IDLE_TIME_STR)
 {
+	vty_out(vty, "%% 'no ms-idle-time' is now deprecated: use 'timer X2030 0' instead%s", VTY_NEWLINE);
+
 	struct gprs_rlcmac_bts *bts = bts_main_data();
 
-	bts->ms_idle_sec = 0;
-
+	if (osmo_tdef_set(bts->T_defs_pcu, -2030, 0, OSMO_TDEF_S) < 0)
+		return CMD_WARNING;
 	return CMD_SUCCESS;
 }
 
diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp
index 5bf94b5..7241a35 100644
--- a/tests/tbf/TbfTest.cpp
+++ b/tests/tbf/TbfTest.cpp
@@ -155,6 +155,7 @@
 	bts->alloc_algorithm = alloc_algorithm_a;
 	bts->initial_cs_dl = cs;
 	bts->initial_cs_ul = cs;
+	osmo_tdef_set(bts->T_defs_pcu, -2030, 0, OSMO_TDEF_S);
 	trx = &bts->trx[0];
 
 	trx->pdch[ts_no].enable();
@@ -501,7 +502,8 @@
 
 	bts = the_bts.bts_data();
 	setup_bts(&the_bts, ts_no);
-	bts->ms_idle_sec = 10; /* keep the MS object */
+	/* keep the MS object 10 seconds */
+	OSMO_ASSERT(osmo_tdef_set(bts->T_defs_pcu, -2030, 10, OSMO_TDEF_S) == 0);
 
 	gprs_bssgp_create_and_connect(bts, 33001, 0, 33001, 2234, 2234, 2234, 1, 1, false, 0, 0, 0);
 
