diff --git a/src/libbsc/handover_decision.c b/src/libbsc/handover_decision.c
index 1e2e0d9..0693613 100644
--- a/src/libbsc/handover_decision.c
+++ b/src/libbsc/handover_decision.c
@@ -65,7 +65,7 @@
 	/* resolve the gsm_bts structure for the best neighbor */
 	new_bts = gsm_bts_neighbor(lchan->ts->trx->bts, arfcn, bsic);
 	if (!new_bts) {
-		LOGP(DHO, LOGL_NOTICE, "unable to determine neighbor BTS "
+		LOGP(DHODEC, LOGL_NOTICE, "unable to determine neighbor BTS "
 		     "for ARFCN %u BSIC %u ?!?\n", arfcn, bsic);
 		return -EINVAL;
 	}
@@ -104,7 +104,7 @@
 		window = nmp->rxlev_cnt;
 	/* this should never happen */
 	if (window <= 0) {
-		LOGP(DHO, LOGL_ERROR, "Requested Neighbor RxLev for invalid window size of %d\n", window);
+		LOGP(DHODEC, LOGL_ERROR, "Requested Neighbor RxLev for invalid window size of %d\n", window);
 		return 0;
 	}
 
@@ -232,26 +232,26 @@
 	if (!best_cell)
 		return 0;
 
-	LOGP(DHO, LOGL_INFO, "%s: Cell on ARFCN %u is better: ",
+	LOGP(DHODEC, LOGL_INFO, "%s: Cell on ARFCN %u is better: ",
 		gsm_ts_name(mr->lchan->ts), best_cell->arfcn);
 	if (!ho_get_ho_active(bts->ho)) {
-		LOGPC(DHO, LOGL_INFO, "Skipping, Handover disabled\n");
+		LOGPC(DHODEC, LOGL_INFO, "Skipping, Handover disabled\n");
 		return 0;
 	}
 
 	rc = handover_to_arfcn_bsic(mr->lchan, best_cell->arfcn, best_cell->bsic);
 	switch (rc) {
 	case 0:
-		LOGPC(DHO, LOGL_INFO, "Starting handover: meas report number %d \n", mr->nr);
+		LOGPC(DHODEC, LOGL_INFO, "Starting handover: meas report number %d \n", mr->nr);
 		break;
 	case -ENOSPC:
-		LOGPC(DHO, LOGL_INFO, "No channel available\n");
+		LOGPC(DHODEC, LOGL_INFO, "No channel available\n");
 		break;
 	case -EBUSY:
-		LOGPC(DHO, LOGL_INFO, "Handover already active\n");
+		LOGPC(DHODEC, LOGL_INFO, "Handover already active\n");
 		break;
 	default:
-		LOGPC(DHO, LOGL_ERROR, "Unknown error\n");
+		LOGPC(DHODEC, LOGL_ERROR, "Unknown error\n");
 	}
 	return rc;
 }
