diff --git a/openbsc/include/openbsc/rest_octets.h b/openbsc/include/openbsc/rest_octets.h
index 2d16a1f..56d4e0d 100644
--- a/openbsc/include/openbsc/rest_octets.h
+++ b/openbsc/include/openbsc/rest_octets.h
@@ -4,7 +4,7 @@
 #include <openbsc/gsm_04_08.h>
 
 /* generate SI1 rest octets */
-int rest_octets_si1(uint8_t *data, uint8_t *nch_pos);
+int rest_octets_si1(uint8_t *data, uint8_t *nch_pos, int is1800_net);
 
 struct gsm48_si_selection_params {
 	uint16_t penalty_time:5,
diff --git a/openbsc/src/libbsc/rest_octets.c b/openbsc/src/libbsc/rest_octets.c
index 0545426..41bf505 100644
--- a/openbsc/src/libbsc/rest_octets.c
+++ b/openbsc/src/libbsc/rest_octets.c
@@ -30,7 +30,7 @@
 #include <openbsc/rest_octets.h>
 
 /* generate SI1 rest octets */
-int rest_octets_si1(uint8_t *data, uint8_t *nch_pos)
+int rest_octets_si1(uint8_t *data, uint8_t *nch_pos, int is1800_net)
 {
 	struct bitvec bv;
 
@@ -44,7 +44,12 @@
 	} else
 		bitvec_set_bit(&bv, L);
 
-	bitvec_spare_padding(&bv, 7);
+	if (is1800_net)
+		bitvec_set_bit(&bv, L);
+	else
+		bitvec_set_bit(&bv, H);
+
+	bitvec_spare_padding(&bv, 6);
 	return bv.data_len;
 }
 
diff --git a/openbsc/src/libbsc/system_information.c b/openbsc/src/libbsc/system_information.c
index 41881d9..acf7134 100644
--- a/openbsc/src/libbsc/system_information.c
+++ b/openbsc/src/libbsc/system_information.c
@@ -58,6 +58,15 @@
 	return 0;
 }
 
+static int is_dcs_net(const struct gsm_bts *bts)
+{
+	if (bts->band == GSM_BAND_850)
+		return 0;
+	if (bts->band == GSM_BAND_1900)
+		return 0;
+	return 1;
+}
+
 static int use_arfcn(const struct gsm_bts *bts, const int bis, const int ter,
 			const int pgsm, const int arfcn)
 {
@@ -388,8 +397,11 @@
 
 	si1->rach_control = bts->si_common.rach_control;
 
-	/* SI1 Rest Octets (10.5.2.32), contains NCH position */
-	rc = rest_octets_si1(si1->rest_octets, NULL);
+	/*
+	 * SI1 Rest Octets (10.5.2.32), contains NCH position and band
+	 * indicator but that is not in the 04.08.
+	 */
+	rc = rest_octets_si1(si1->rest_octets, NULL, is_dcs_net(bts));
 
 	return sizeof(*si1) + rc;
 }
