diff --git a/openbsc/src/libbsc/bsc_ctrl_commands.c b/openbsc/src/libbsc/bsc_ctrl_commands.c
index 1d91c5f..b6b1c9a 100644
--- a/openbsc/src/libbsc/bsc_ctrl_commands.c
+++ b/openbsc/src/libbsc/bsc_ctrl_commands.c
@@ -202,20 +202,12 @@
 static int set_bts_si(struct ctrl_cmd *cmd, void *data)
 {
 	struct gsm_bts *bts = cmd->node;
-	struct gsm_bts_trx *trx;
+	int rc;
 
-	/* Generate a new ID */
-	bts->bcch_change_mark += 1;
-	bts->bcch_change_mark %= 0x7;
-
-	llist_for_each_entry(trx, &bts->trx_list, list) {
-		int rc;
-
-		rc = gsm_bts_trx_set_system_infos(trx);
-		if (rc != 0) {
-			cmd->reply = "Failed to generate SI";
-			return CTRL_CMD_ERROR;
-		}
+	rc = gsm_bts_set_system_infos(bts);
+	if (rc != 0) {
+		cmd->reply = "Failed to generate SI";
+		return CTRL_CMD_ERROR;
 	}
 
 	cmd->reply = "Generated new System Information";
diff --git a/openbsc/src/libbsc/bsc_init.c b/openbsc/src/libbsc/bsc_init.c
index a59ab3d..374ad7b 100644
--- a/openbsc/src/libbsc/bsc_init.c
+++ b/openbsc/src/libbsc/bsc_init.c
@@ -120,7 +120,7 @@
 	return rc;
 }
 
-/* set all system information types */
+/* set all system information types for a TRX */
 int gsm_bts_trx_set_system_infos(struct gsm_bts_trx *trx)
 {
 	int i, rc;
@@ -197,6 +197,26 @@
 	return rc;
 }
 
+/* set all system information types for a BTS */
+int gsm_bts_set_system_infos(struct gsm_bts *bts)
+{
+	struct gsm_bts_trx *trx;
+
+	/* Generate a new ID */
+	bts->bcch_change_mark += 1;
+	bts->bcch_change_mark %= 0x7;
+
+	llist_for_each_entry(trx, &bts->trx_list, list) {
+		int rc;
+
+		rc = gsm_bts_trx_set_system_infos(trx);
+		if (rc != 0)
+			return rc;
+	}
+
+	return 0;
+}
+
 /* Produce a MA as specified in 10.5.2.21 */
 static int generate_ma_for_ts(struct gsm_bts_trx_ts *ts)
 {
