diff --git a/openbsc/src/libbsc/bsc_api.c b/openbsc/src/libbsc/bsc_api.c
index e0ba606..ad89fb2 100644
--- a/openbsc/src/libbsc/bsc_api.c
+++ b/openbsc/src/libbsc/bsc_api.c
@@ -141,7 +141,7 @@
 	 * secondary_channel has not been released by the handle_chan_nack.
 	 */
 	if (conn->secondary_lchan)
-		lchan_release(conn->secondary_lchan, 0, 1);
+		lchan_release(conn->secondary_lchan, 0, RSL_REL_LOCAL_END);
 	conn->secondary_lchan = NULL;
 
 	/* inform them about the failure */
@@ -416,7 +416,7 @@
 	/* swap channels */
 	osmo_timer_del(&conn->T10);
 
-	lchan_release(conn->lchan, 0, 1);
+	lchan_release(conn->lchan, 0, RSL_REL_LOCAL_END);
 	conn->lchan = conn->secondary_lchan;
 	conn->secondary_lchan = NULL;
 
@@ -444,7 +444,7 @@
 
 	/* stop the timer and release it */
 	osmo_timer_del(&conn->T10);
-	lchan_release(conn->secondary_lchan, 0, 1);
+	lchan_release(conn->secondary_lchan, 0, RSL_REL_LOCAL_END);
 	conn->secondary_lchan = NULL;
 
 	gh = msgb_l3(msg);
@@ -649,7 +649,7 @@
 		rc = BSC_API_CONN_POL_REJECT;
 		lchan->conn = subscr_con_allocate(msg->lchan);
 		if (!lchan->conn) {
-			lchan_release(lchan, 1, 0);
+			lchan_release(lchan, 1, RSL_REL_NORMAL);
 			return -1;
 		}
 
@@ -659,7 +659,7 @@
 		if (rc != BSC_API_CONN_POL_ACCEPT) {
 			lchan->conn->lchan = NULL;
 			subscr_con_free(lchan->conn);
-			lchan_release(lchan, 1, 0);
+			lchan_release(lchan, 1, RSL_REL_NORMAL);
 		}
 	}
 
@@ -698,10 +698,10 @@
 		bsc_clear_handover(conn, 1);
 
 	if (conn->secondary_lchan)
-		lchan_release(conn->secondary_lchan, 0, 1);
+		lchan_release(conn->secondary_lchan, 0, RSL_REL_LOCAL_END);
 
 	if (conn->lchan)
-		lchan_release(conn->lchan, 1, 0);
+		lchan_release(conn->lchan, 1, RSL_REL_NORMAL);
 
 	conn->lchan = NULL;
 	conn->secondary_lchan = NULL;
diff --git a/openbsc/src/libbsc/handover_logic.c b/openbsc/src/libbsc/handover_logic.c
index 5ce3301..d2cd5ef 100644
--- a/openbsc/src/libbsc/handover_logic.c
+++ b/openbsc/src/libbsc/handover_logic.c
@@ -167,7 +167,7 @@
 	conn->ho_lchan = NULL;
 
 	if (free_lchan)
-		lchan_release(ho->new_lchan, 0, 1);
+		lchan_release(ho->new_lchan, 0, RSL_REL_LOCAL_END);
 
 	osmo_timer_del(&ho->T3103);
 	llist_del(&ho->list);
@@ -185,7 +185,7 @@
 
 	ho->new_lchan->conn->ho_lchan = NULL;
 	ho->new_lchan->conn = NULL;
-	lchan_release(ho->new_lchan, 0, 1);
+	lchan_release(ho->new_lchan, 0, RSL_REL_LOCAL_END);
 	llist_del(&ho->list);
 	talloc_free(ho);
 }
@@ -276,7 +276,7 @@
 	ho->old_lchan->conn = NULL;
 
 	rsl_lchan_set_state(ho->old_lchan, LCHAN_S_INACTIVE);
-	lchan_release(ho->old_lchan, 0, 1);
+	lchan_release(ho->old_lchan, 0, RSL_REL_LOCAL_END);
 
 	/* do something to re-route the actual speech frames ! */
 
@@ -306,7 +306,7 @@
 	/* release the channel and forget about it */
 	ho->new_lchan->conn->ho_lchan = NULL;
 	ho->new_lchan->conn = NULL;
-	lchan_release(ho->new_lchan, 0, 1);
+	lchan_release(ho->new_lchan, 0, RSL_REL_LOCAL_END);
 
 	talloc_free(ho);
 
