diff --git a/openbsc/src/libbsc/bsc_init.c b/openbsc/src/libbsc/bsc_init.c
index 520b2e2..caec800 100644
--- a/openbsc/src/libbsc/bsc_init.c
+++ b/openbsc/src/libbsc/bsc_init.c
@@ -507,8 +507,6 @@
 {
 	struct gsm_bts *bts;
 	int rc;
-	char pcu_sock_path[PATH_MAX];
-	char pcu_sock_path_ending[PATH_MAX];
 
 	rc = vty_read_config_file(config_file, NULL);
 	if (rc < 0) {
@@ -536,18 +534,6 @@
 			LOGP(DNM, LOGL_FATAL, "Error enabling E1 input driver\n");
 			return rc;
 		}
-
-		strcpy(pcu_sock_path, PCU_SOCK_DEFAULT);
-		sprintf(pcu_sock_path_ending,"_%i", bts->nr);
-		if (bts->nr > 0)
-			strcat(pcu_sock_path, pcu_sock_path_ending);
-		rc = pcu_sock_init(pcu_sock_path, bts);
-
-		if (rc < 0) {
-			LOGP(DNM, LOGL_FATAL,
-			     "PCU L1 socket failed for bts %i\n", bts->nr);
-			return rc;
-		}
 	}
 
 	return 0;
diff --git a/openbsc/src/libbsc/bsc_vty.c b/openbsc/src/libbsc/bsc_vty.c
index f14a205..f17bde6 100644
--- a/openbsc/src/libbsc/bsc_vty.c
+++ b/openbsc/src/libbsc/bsc_vty.c
@@ -53,6 +53,7 @@
 #include <openbsc/abis_rsl.h>
 #include <openbsc/bsc_msc_data.h>
 #include <openbsc/osmo_bsc_rf.h>
+#include <openbsc/pcu_if.h>
 
 #include <openbsc/common_cs.h>
 
@@ -280,6 +281,8 @@
 	vty_out(vty, "Early Classmark Sending: %s%s",
 		bts->early_classmark_allowed ? "allowed" : "forbidden",
 		VTY_NEWLINE);
+	if (bts->pcu_sock_path)
+		vty_out(vty, "PCU Socket Path: %s%s", bts->pcu_sock_path, VTY_NEWLINE);
 	if (is_ipaccess_bts(bts))
 		vty_out(vty, "  Unit ID: %u/%u/0, OML Stream ID 0x%02x%s",
 			bts->ip_access.site_id, bts->ip_access.bts_id,
@@ -764,6 +767,8 @@
 			vty_out(vty, "  depends-on-bts %d%s", bts_nr, VTY_NEWLINE);
 		}
 	}
+	if (bts->pcu_sock_path)
+		vty_out(vty, "  pcu-socket %s%s", bts->pcu_sock_path, VTY_NEWLINE);
 
 	config_write_bts_model(vty, bts);
 }
@@ -2933,6 +2938,26 @@
 	return CMD_SUCCESS;
 }
 
+DEFUN(cfg_bts_pcu_sock, cfg_bts_pcu_sock_cmd,
+	"pcu-socket PATH",
+	"PCU Socket Path for using OsmoPCU co-located with BSC (legacy BTS)\n"
+	"Path in the file system for the unix-domain PCU socket\n")
+{
+	struct gsm_bts *bts = vty->index;
+	int rc;
+
+	bsc_replace_string(bts, &bts->pcu_sock_path, argv[0]);
+	pcu_sock_exit(bts);
+	rc = pcu_sock_init(bts->pcu_sock_path, bts);
+	if (rc < 0) {
+		vty_out(vty, "%% Error creating PCU socket `%s' for BTS %u%s",
+			bts->pcu_sock_path, bts->nr, VTY_NEWLINE);
+		return CMD_WARNING;
+	}
+
+	return CMD_SUCCESS;
+}
+
 #define EXCL_RFLOCK_STR "Exclude this BTS from the global RF Lock\n"
 
 DEFUN(cfg_bts_excl_rf_lock,
@@ -4231,6 +4256,7 @@
 	install_element(BTS_NODE, &cfg_bts_amr_hr_hyst2_cmd);
 	install_element(BTS_NODE, &cfg_bts_amr_hr_hyst3_cmd);
 	install_element(BTS_NODE, &cfg_bts_amr_hr_start_mode_cmd);
+	install_element(BTS_NODE, &cfg_bts_pcu_sock_cmd);
 
 	install_element(BTS_NODE, &cfg_trx_cmd);
 	install_node(&trx_node, dummy_config_write);
