diff --git a/openbsc/src/osmo-bsc/osmo_bsc_main.c b/openbsc/src/osmo-bsc/osmo_bsc_main.c
index 2f0b96d..ee094d6 100644
--- a/openbsc/src/osmo-bsc/osmo_bsc_main.c
+++ b/openbsc/src/osmo-bsc/osmo_bsc_main.c
@@ -253,7 +253,7 @@
 
 	data = bsc_gsmnet->bsc_data;
 	if (rf_ctrl)
-		bsc_replace_string(data, &data->rf_ctrl_name, rf_ctrl);
+		osmo_talloc_replace_string(data, &data->rf_ctrl_name, rf_ctrl);
 
 	data->rf_ctrl = osmo_bsc_rf_create(data->rf_ctrl_name, bsc_gsmnet);
 	if (!data->rf_ctrl) {
diff --git a/openbsc/src/osmo-bsc/osmo_bsc_vty.c b/openbsc/src/osmo-bsc/osmo_bsc_vty.c
index 2336669..2e2e99b 100644
--- a/openbsc/src/osmo-bsc/osmo_bsc_vty.c
+++ b/openbsc/src/osmo-bsc/osmo_bsc_vty.c
@@ -230,7 +230,7 @@
 {
 	struct bsc_msc_data *data = bsc_msc_data(vty);
 
-	bsc_replace_string(osmo_bsc_data(vty), &data->bsc_token, argv[0]);
+	osmo_talloc_replace_string(osmo_bsc_data(vty), &data->bsc_token, argv[0]);
 	return CMD_SUCCESS;
 }
 
@@ -490,7 +490,7 @@
 	if (!str)
 		return CMD_WARNING;
 
-	bsc_replace_string(osmo_bsc_data(vty), &data->ussd_welcome_txt, str);
+	osmo_talloc_replace_string(osmo_bsc_data(vty), &data->ussd_welcome_txt, str);
 	talloc_free(str);
 	return CMD_SUCCESS;
 }
@@ -518,7 +518,7 @@
 	if (!str)
 		return CMD_WARNING;
 
-	bsc_replace_string(osmo_bsc_data(vty), &data->ussd_msc_lost_txt, str);
+	osmo_talloc_replace_string(osmo_bsc_data(vty), &data->ussd_msc_lost_txt, str);
 	talloc_free(str);
 	return CMD_SUCCESS;
 }
@@ -546,7 +546,7 @@
 	if (!str)
 		return CMD_WARNING;
 
-	bsc_replace_string(osmo_bsc_data(vty), &data->ussd_grace_txt, str);
+	osmo_talloc_replace_string(osmo_bsc_data(vty), &data->ussd_grace_txt, str);
 	talloc_free(str);
 	return CMD_SUCCESS;
 }
@@ -574,7 +574,7 @@
 	if (!txt)
 		return CMD_WARNING;
 
-	bsc_replace_string(data, &data->ussd_no_msc_txt, txt);
+	osmo_talloc_replace_string(data, &data->ussd_no_msc_txt, txt);
 	talloc_free(txt);
 	return CMD_SUCCESS;
 }
@@ -666,7 +666,7 @@
 {
 	struct bsc_msc_data *msc = bsc_msc_data(vty);
 
-	bsc_replace_string(msc, &msc->acc_lst_name, argv[0]);
+	osmo_talloc_replace_string(msc, &msc->acc_lst_name, argv[0]);
 	return CMD_SUCCESS;
 }
 
@@ -695,7 +695,7 @@
 	if (!txt)
 		return CMD_WARNING;
 
-	bsc_replace_string(data, &data->mid_call_txt, txt);
+	osmo_talloc_replace_string(data, &data->mid_call_txt, txt);
 	talloc_free(txt);
 	return CMD_SUCCESS;
 }
@@ -717,7 +717,7 @@
 {
 	struct osmo_bsc_data *data = osmo_bsc_data(vty);
 
-	bsc_replace_string(data, &data->rf_ctrl_name, argv[0]);
+	osmo_talloc_replace_string(data, &data->rf_ctrl_name, argv[0]);
 	return CMD_SUCCESS;
 }
 
@@ -749,7 +749,7 @@
 {
 	struct osmo_bsc_data *bsc = osmo_bsc_data(vty);
 
-	bsc_replace_string(bsc, &bsc->acc_lst_name, argv[0]);
+	osmo_talloc_replace_string(bsc, &bsc->acc_lst_name, argv[0]);
 	return CMD_SUCCESS;
 }
 
