diff --git a/tests/bitcomp/BitcompTest.cpp b/tests/bitcomp/BitcompTest.cpp
index 4ec6f29..8dd4534 100644
--- a/tests/bitcomp/BitcompTest.cpp
+++ b/tests/bitcomp/BitcompTest.cpp
@@ -113,26 +113,6 @@
 		}
 	};
 
-static const struct log_info_cat default_categories[] = {
-	{"DCSN1", "\033[1;31m", "Concrete Syntax Notation One (CSN1)", LOGL_INFO, 0},
-	{"DL1IF", "\033[1;32m", "GPRS PCU L1 interface (L1IF)", LOGL_DEBUG, 1},
-	{"DRLCMAC", "\033[0;33m", "GPRS RLC/MAC layer (RLCMAC)", LOGL_DEBUG, 1},
-	{"DRLCMACDATA", "\033[0;33m", "GPRS RLC/MAC layer Data (RLCMAC)", LOGL_DEBUG, 1},
-	{"DRLCMACDL", "\033[1;33m", "GPRS RLC/MAC layer Downlink (RLCMAC)", LOGL_DEBUG, 1},
-	{"DRLCMACUL", "\033[1;36m", "GPRS RLC/MAC layer Uplink (RLCMAC)", LOGL_DEBUG, 1},
-	{"DRLCMACSCHED", "\033[0;36m", "GPRS RLC/MAC layer Scheduling (RLCMAC)", LOGL_DEBUG, 1},
-	{"DRLCMACMEAS", "\033[1;31m", "GPRS RLC/MAC layer Measurements (RLCMAC)", LOGL_INFO, 1},
-	{"DNS", "\033[1;34m", "GPRS Network Service Protocol (NS)", LOGL_INFO, 1},
-	{"DBSSGP", "\033[1;34m", "GPRS BSS Gateway Protocol (BSSGP)", LOGL_INFO, 1},
-	{"DPCU", "\033[1;35m", "GPRS Packet Control Unit (PCU)", LOGL_NOTICE, 1},
-};
-
-static int filter_fn(const struct log_context *ctx,
-			struct log_target *tar)
-{
-	return 1;
-}
-
 bool result_matches(const bitvec &bits, const uint8_t *exp_data, unsigned int exp_len)
 {
 	if (bits.cur_bit != exp_len)
@@ -206,17 +186,12 @@
 	printf("=== end %s ===\n", __func__);
 }
 
-const struct log_info debug_log_info = {
-	filter_fn,
-	(struct log_info_cat *)default_categories,
-	ARRAY_SIZE(default_categories),
-};
-
 int main(int argc, char **argv)
 {
-	osmo_init_logging(&debug_log_info);
+	osmo_init_logging(&gprs_log_info);
 	log_set_use_color(osmo_stderr_target, 0);
 	log_set_print_filename(osmo_stderr_target, 0);
+	log_parse_category_mask(osmo_stderr_target, "DRLCMACUL,1");
 
 	tall_pcu_ctx = talloc_named_const(NULL, 1, "moiji-mobile bitcompTest context");
 	if (!tall_pcu_ctx)
