diff --git a/openbsc/src/libbsc/abis_nm.c b/openbsc/src/libbsc/abis_nm.c
index ee0dd60..23d5fa3 100644
--- a/openbsc/src/libbsc/abis_nm.c
+++ b/openbsc/src/libbsc/abis_nm.c
@@ -1377,7 +1377,6 @@
 {
 	struct abis_om_hdr *oh;
 	struct msgb *msg = nm_msgb_alloc();
-	uint8_t *cur;
 
 	DEBUGP(DNM, "Get Attr (bts=%d)\n", bts->nr);
 
@@ -2586,7 +2585,7 @@
 int ipac_parse_bcch_info(struct ipac_bcch_info *binf, uint8_t *buf)
 {
 	uint8_t *cur = buf;
-	uint16_t len;
+	uint16_t len __attribute__((unused));
 
 	memset(binf, 0, sizeof(*binf));
 
diff --git a/openbsc/src/libbsc/bts_hsl_femtocell.c b/openbsc/src/libbsc/bts_hsl_femtocell.c
index ebab34a..2187245 100644
--- a/openbsc/src/libbsc/bts_hsl_femtocell.c
+++ b/openbsc/src/libbsc/bts_hsl_femtocell.c
@@ -98,23 +98,22 @@
 static int hslfemto_bootstrap_om(struct gsm_bts *bts)
 {
 	struct msgb *msg;
-	uint8_t *cur;
 
 	msg = hsl_alloc_msgb();
-	cur = msgb_put(msg, sizeof(l1_msg));
+	msgb_put(msg, sizeof(l1_msg));
 	memcpy(msg->data, l1_msg, sizeof(l1_msg));
 	msg->dst = bts->c0->rsl_link;
 	abis_rsl_sendmsg(msg);
 
 #if 1
 	msg = hsl_alloc_msgb();
-	cur = msgb_put(msg, sizeof(conn_trau_msg));
+	msgb_put(msg, sizeof(conn_trau_msg));
 	memcpy(msg->data, conn_trau_msg, sizeof(conn_trau_msg));
 	msg->dst = bts->c0->rsl_link;
 	abis_rsl_sendmsg(msg);
 #endif
 	msg = hsl_alloc_msgb();
-	cur = msgb_put(msg, sizeof(conn_trau_msg2));
+	msgb_put(msg, sizeof(conn_trau_msg2));
 	memcpy(msg->data, conn_trau_msg2, sizeof(conn_trau_msg2));
 	msg->dst = bts->c0->rsl_link;
 	abis_rsl_sendmsg(msg);
@@ -123,7 +122,7 @@
 	oml_arfcn_bsic[13] = bts->bsic;
 
 	msg = hsl_alloc_msgb();
-	cur = msgb_put(msg, sizeof(oml_arfcn_bsic));
+	msgb_put(msg, sizeof(oml_arfcn_bsic));
 	memcpy(msg->data, oml_arfcn_bsic, sizeof(oml_arfcn_bsic));
 	msg->dst = bts->c0->rsl_link;
 	abis_sendmsg(msg);
@@ -229,12 +228,9 @@
 
 void hsl_drop_oml(struct gsm_bts *bts)
 {
-	struct e1inp_line *line;
-
 	if (!bts->oml_link)
 		return;
 
-	line = bts->oml_link->ts->line;
 	e1inp_sign_link_destroy(bts->oml_link);
 	bts->oml_link = NULL;
 
diff --git a/openbsc/src/libbsc/bts_nokia_site.c b/openbsc/src/libbsc/bts_nokia_site.c
index b2749b5..36e3fac 100644
--- a/openbsc/src/libbsc/bts_nokia_site.c
+++ b/openbsc/src/libbsc/bts_nokia_site.c
@@ -51,7 +51,7 @@
 static void nokia_abis_nm_queue_send_next(struct gsm_bts *bts);
 static void reset_timer_cb(void *_bts);
 static int abis_nm_reset(struct gsm_bts *bts, uint16_t ref);
-static int dump_elements(uint8_t * data, int len);
+static int dump_elements(uint8_t * data, int len) __attribute__((unused));
 
 static void bootstrap_om_bts(struct gsm_bts *bts)
 {
@@ -1307,7 +1307,7 @@
 	uint8_t ub;
 	int idx = 0;
 	int found = 0;
-	int constructed;
+	int constructed __attribute__((unused));
 	uint16_t id_value;
 
 	for (;;) {
diff --git a/openbsc/src/libbsc/handover_logic.c b/openbsc/src/libbsc/handover_logic.c
index 711c260..5ce3301 100644
--- a/openbsc/src/libbsc/handover_logic.c
+++ b/openbsc/src/libbsc/handover_logic.c
@@ -194,7 +194,6 @@
 static int ho_chan_activ_ack(struct gsm_lchan *new_lchan)
 {
 	struct bsc_handover *ho;
-	int rc;
 
 	/* we need to check if this channel activation is related to
 	 * a handover at all (and if, which particular handover) */
@@ -207,7 +206,7 @@
 	/* we can now send the 04.08 HANDOVER COMMAND to the MS
 	 * using the old lchan */
 
-	rc = gsm48_send_ho_cmd(ho->old_lchan, new_lchan, 0, ho->ho_ref);
+	gsm48_send_ho_cmd(ho->old_lchan, new_lchan, 0, ho->ho_ref);
 
 	/* start T3103.  We can continue either with T3103 expiration,
 	 * 04.08 HANDOVER COMPLETE or 04.08 HANDOVER FAIL */
