diff --git a/openbsc/src/libabis/input/hsl.c b/openbsc/src/libabis/input/hsl.c
index 12e974b..360be32 100644
--- a/openbsc/src/libabis/input/hsl.c
+++ b/openbsc/src/libabis/input/hsl.c
@@ -228,7 +228,7 @@
 	}
 
 	/* HSL proprietary RSL extension */
-	if (hh->proto == 0 && msg->l2h[0] == 0x80) {
+	if (hh->proto == 0 && (msg->l2h[0] == 0x81 || msg->l2h[0] == 0x80)) {
 		ret = process_hsl_rsl(msg, line);
 		if (ret < 0) {
 			/* FIXME: close connection */
@@ -238,11 +238,11 @@
 			return 0;
 		/* else: continue... */
 	}
-
+#ifdef HSL_SR_1_0
 	/* HSL for whatever reason chose to use 0x81 instead of 0x80 for FOM */
 	if (hh->proto == 255 && msg->l2h[0] == (ABIS_OM_MDISC_FOM | 0x01))
 		msg->l2h[0] = ABIS_OM_MDISC_FOM;
-
+#endif
 	link = e1inp_lookup_sign_link(e1i_ts, hh->proto, 0);
 	if (!link) {
 		LOGP(DINP, LOGL_ERROR, "no matching signalling link for "
@@ -312,9 +312,11 @@
 	switch (sign_link->type) {
 	case E1INP_SIGN_OML:
 		proto = IPAC_PROTO_OML;
+#ifdef HSL_SR_1_0
 		/* HSL uses 0x81 for FOM for some reason */
 		if (msg->data[0] == ABIS_OM_MDISC_FOM)
 			msg->data[0] = ABIS_OM_MDISC_FOM | 0x01;
+#endif
 		break;
 	case E1INP_SIGN_RSL:
 		proto = IPAC_PROTO_RSL;
diff --git a/openbsc/src/libbsc/abis_rsl.c b/openbsc/src/libbsc/abis_rsl.c
index 58e2a7c..9a4dc5b 100644
--- a/openbsc/src/libbsc/abis_rsl.c
+++ b/openbsc/src/libbsc/abis_rsl.c
@@ -677,10 +677,11 @@
 	rc =  abis_rsl_sendmsg(msg);
 
 	/* BTS will respond by RF CHAN REL ACK */
-
+#ifdef HSL_SR_1_0
 	/* The HSL Femto seems to 'forget' sending a REL ACK for TS1...TS7 */
 	if (lchan->ts->trx->bts->type == GSM_BTS_TYPE_HSL_FEMTO && lchan->ts->nr != 0)
 		rc = rsl_rx_rf_chan_rel_ack(lchan);
+#endif
 
 	return rc;
 }
diff --git a/openbsc/src/libbsc/bsc_init.c b/openbsc/src/libbsc/bsc_init.c
index 0072bb6..37386d7 100644
--- a/openbsc/src/libbsc/bsc_init.c
+++ b/openbsc/src/libbsc/bsc_init.c
@@ -397,7 +397,7 @@
 	if (bts->network->dtx_enabled)
 		bts->si_common.cell_options.dtx = 0;
 	else
-		bts->si_common.cell_options.dtx = 2;
+		bts->si_common.cell_options.dtx = 3;
 
 	bts->si_common.cell_options.pwrc = 0; /* PWRC not set */
 
diff --git a/openbsc/src/libbsc/bts_hsl_femtocell.c b/openbsc/src/libbsc/bts_hsl_femtocell.c
index 2813195..d5834ef 100644
--- a/openbsc/src/libbsc/bts_hsl_femtocell.c
+++ b/openbsc/src/libbsc/bts_hsl_femtocell.c
@@ -61,7 +61,11 @@
 };
 
 static uint8_t oml_arfcn_bsic[] = {
+#ifdef HSL_SR_1_0
 	0x81, 0x80, 0x00, 10,
+#else
+	0x80, 0x80, 0x00, 10,
+#endif
 		NM_MT_SET_BTS_ATTR, NM_OC_BTS, 0xff, 0xff, 0xff,
 			NM_ATT_BCCH_ARFCN, 0x03, 0x67,
 			NM_ATT_BSIC, 0x00
