don't try multiple concurrent handovers for 1 channel
diff --git a/openbsc/src/handover_logic.c b/openbsc/src/handover_logic.c
index 68cdcba..9da8baf 100644
--- a/openbsc/src/handover_logic.c
+++ b/openbsc/src/handover_logic.c
@@ -88,6 +88,11 @@
 	static u_int8_t ho_ref;
 	int rc;
 
+	/* don't attempt multiple handovers for the same lchan at
+	 * the same time */
+	if (bsc_ho_by_old_lchan(old_lchan))
+		return -EBUSY;
+
 	DEBUGP(DHO, "(old_lchan on BTS %u, new BTS %u): ",
 		old_lchan->ts->trx->bts->nr, bts->nr);