diff --git a/openbsc/src/libbsc/bsc_init.c b/openbsc/src/libbsc/bsc_init.c
index 50c73db..520b2e2 100644
--- a/openbsc/src/libbsc/bsc_init.c
+++ b/openbsc/src/libbsc/bsc_init.c
@@ -324,9 +324,10 @@
 	if (subsys != SS_L_INPUT)
 		return -EINVAL;
 
+	LOGP(DLMI, LOGL_DEBUG, "%s(): Input signal '%s' received\n", __func__,
+		get_value_string(e1inp_signal_names, signal));
 	switch (signal) {
 	case S_L_INP_TEI_UP:
-		LOGP(DLMI, LOGL_DEBUG, "%s() signal: S_L_INP_TEI_UP\n", __func__);
 		if (isd->link_type == E1INP_SIGN_OML) {
 			/* TODO: this is required for the Nokia BTS, hopping is configured
 			   during OML, other MA is not set.  */
@@ -351,7 +352,6 @@
 			bootstrap_rsl(trx);
 		break;
 	case S_L_INP_TEI_DN:
-		LOGP(DLMI, LOGL_DEBUG, "%s() signal: S_L_INP_TEI_DN\n", __func__);
 		LOGP(DLMI, LOGL_ERROR, "Lost some E1 TEI link: %d %p\n", isd->link_type, trx);
 
 		if (isd->link_type == E1INP_SIGN_OML)
diff --git a/openbsc/src/libbsc/bts_ericsson_rbs2000.c b/openbsc/src/libbsc/bts_ericsson_rbs2000.c
index 1c0fa1a..99da4e7 100644
--- a/openbsc/src/libbsc/bts_ericsson_rbs2000.c
+++ b/openbsc/src/libbsc/bts_ericsson_rbs2000.c
@@ -114,9 +114,10 @@
 	if (subsys != SS_L_INPUT)
 		return 0;
 
+	LOGP(DNM, LOGL_DEBUG, "%s(): Input signal '%s' received\n", __func__,
+			get_value_string(e1inp_signal_names, signal));
 	switch (signal) {
 	case S_L_INP_TEI_UP:
-		LOGP(DNM, LOGL_DEBUG, "%s() signal: S_L_INP_TEI_UP\n", __func__);
 		switch (isd->link_type) {
 		case E1INP_SIGN_OML:
 			if (isd->trx->bts->type != GSM_BTS_TYPE_RBS2000)
@@ -129,7 +130,6 @@
 		}
 		break;
 	case S_L_INP_TEI_DN:
-		LOGP(DNM, LOGL_DEBUG, "%s() signal: S_L_INP_TEI_DN\n", __func__);
 		if (isd->trx->bts->type != GSM_BTS_TYPE_RBS2000)
 			break;
 		LOGP(DNM, LOGL_NOTICE, "Line-%u TS-%u TEI-%u SAPI-%u: Link "
@@ -141,9 +141,7 @@
 		lapd_sap_start(e1i_ts->lapd, isd->tei, isd->sapi);
 		break;
 	case S_L_INP_LINE_INIT:
-		LOGP(DNM, LOGL_DEBUG, "%s() signal: S_L_INP_LINE_INIT\n", __func__);
 	case S_L_INP_LINE_NOALARM:
-		LOGP(DNM, LOGL_DEBUG, "%s() signal: S_L_INP_LINE_NOALARM\n", __func__);
 		if (strcasecmp(isd->line->driver->name, "DAHDI")
 		 && strcasecmp(isd->line->driver->name, "MISDN_LAPD")
 		 && strcasecmp(isd->line->driver->name, "UNIXSOCKET"))
@@ -151,7 +149,6 @@
 		start_sabm_in_line(isd->line, 1);
 		break;
 	case S_L_INP_LINE_ALARM:
-		LOGP(DNM, LOGL_DEBUG, "%s() signal: S_L_INP_LINE_ALARM\n", __func__);
 		if (strcasecmp(isd->line->driver->name, "DAHDI")
 		 && strcasecmp(isd->line->driver->name, "MISDN_LAPD")
 		 && strcasecmp(isd->line->driver->name, "UNIXSOCKET"))
