diff --git a/src/libmsc/msc_net_init.c b/src/libmsc/msc_net_init.c
index 774c767..9e3e8b3 100644
--- a/src/libmsc/msc_net_init.c
+++ b/src/libmsc/msc_net_init.c
@@ -72,8 +72,6 @@
 	net->mncc_guard_timeout = 180;
 	net->ncss_guard_timeout = 30;
 
-	net->paging_response_timer = MSC_PAGING_RESPONSE_TIMER_DEFAULT;
-
 	INIT_LLIST_HEAD(&net->trans_list);
 	INIT_LLIST_HEAD(&net->upqueue);
 	INIT_LLIST_HEAD(&net->neighbor_ident_list);
diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c
index 46d3cf9..79b4daa 100644
--- a/src/libmsc/msc_vty.c
+++ b/src/libmsc/msc_vty.c
@@ -67,6 +67,7 @@
 #include <osmocom/msc/sgs_vty.h>
 #include <osmocom/msc/sccp_ran.h>
 #include <osmocom/msc/ran_peer.h>
+#include <osmocom/msc/ran_infra.h>
 
 static struct gsm_network *gsmnet = NULL;
 
@@ -562,7 +563,7 @@
 	return CMD_SUCCESS;
 }
 
-DEFUN(cfg_msc_paging_response_timer, cfg_msc_paging_response_timer_cmd,
+DEFUN_DEPRECATED(cfg_msc_paging_response_timer, cfg_msc_paging_response_timer_cmd,
       "paging response-timer (default|<1-65535>)",
       "Configure Paging\n"
       "Set Paging timeout, the minimum time to pass between (unsuccessful) Pagings sent towards"
@@ -570,10 +571,22 @@
       "Set to default timeout (" OSMO_STRINGIFY_VAL(MSC_PAGING_RESPONSE_TIMER_DEFAULT) " seconds)\n"
       "Set paging timeout in seconds\n")
 {
+	int rat;
+	int paging_response_timer;
 	if (!strcmp(argv[0], "default"))
-		gsmnet->paging_response_timer = MSC_PAGING_RESPONSE_TIMER_DEFAULT;
+		paging_response_timer = MSC_PAGING_RESPONSE_TIMER_DEFAULT;
 	else
-		gsmnet->paging_response_timer = atoi(argv[0]);
+		paging_response_timer = atoi(argv[0]);
+
+	for (rat = 0; rat < OSMO_RAT_COUNT; rat++) {
+		osmo_tdef_set(msc_ran_infra[rat].tdefs, -4, paging_response_timer, OSMO_TDEF_S);
+	}
+
+	vty_out(vty, "%% paging response-timer is deprecated.%s"
+		"%% All ran timer has been modified.%s"
+		"%% use 'timer <geran|utran|sgs> X4 %s' instead%s",
+		VTY_NEWLINE, VTY_NEWLINE, argv[0], VTY_NEWLINE);
+
 	return CMD_SUCCESS;
 }
 
@@ -773,9 +786,6 @@
 			vty_out(vty, " check-imei-rqd 1%s", VTY_NEWLINE);
 	}
 
-	if (gsmnet->paging_response_timer != MSC_PAGING_RESPONSE_TIMER_DEFAULT)
-		vty_out(vty, " paging response-timer %u%s", gsmnet->paging_response_timer, VTY_NEWLINE);
-
 	if (gsmnet->emergency.route_to_msisdn) {
 		vty_out(vty, " emergency-call route-to-msisdn %s%s",
 			gsmnet->emergency.route_to_msisdn, VTY_NEWLINE);
diff --git a/src/libmsc/paging.c b/src/libmsc/paging.c
index b288414..8fbe810 100644
--- a/src/libmsc/paging.c
+++ b/src/libmsc/paging.c
@@ -84,7 +84,7 @@
 {
 	int rc;
 	struct paging_request *pr;
-	struct gsm_network *net = vsub->vlr->user_ctx;
+	int paging_response_timer;
 
 	pr = talloc(vsub, struct paging_request);
 	OSMO_ASSERT(pr);
@@ -110,8 +110,9 @@
 		/* reduced on the first paging callback */
 		vlr_subscr_get(vsub, VSUB_USE_PAGING);
 		vsub->cs.is_paging = true;
+		paging_response_timer = osmo_tdef_get(msc_ran_infra[vsub->cs.attached_via_ran].tdefs, -4, OSMO_TDEF_S, 10);
 		osmo_timer_setup(&vsub->cs.paging_response_timer, paging_response_timer_cb, vsub);
-		osmo_timer_schedule(&vsub->cs.paging_response_timer, net->paging_response_timer, 0);
+		osmo_timer_schedule(&vsub->cs.paging_response_timer, paging_response_timer, 0);
 	}
 
 	llist_add_tail(&pr->entry, &vsub->cs.requests);
diff --git a/src/libmsc/ran_infra.c b/src/libmsc/ran_infra.c
index af40541..c0eaa1a 100644
--- a/src/libmsc/ran_infra.c
+++ b/src/libmsc/ran_infra.c
@@ -43,6 +43,7 @@
 	{ .T = -1, .default_val = 5, .desc = "RAN connection Complete Layer 3, Authentication and Ciphering timeout" }, \
 	{ .T = -2, .default_val = 30, .desc = "RAN connection release sanity timeout" }, \
 	{ .T = -3, .default_val = 10, .desc = "Timeout to find a target BSS after Handover Required" }, \
+	{ .T = -4, .default_val = 10, .desc = "Paging response timeout" }, \
 
 struct osmo_tdef msc_tdefs_geran[] = {
 	RAN_TDEFS
@@ -55,6 +56,7 @@
 };
 
 struct osmo_tdef msc_tdefs_sgs[] = {
+	{ .T = -4, .default_val = 10, .desc = "Paging response timeout" },
 	{}
 };
 
