diff --git a/src/logging.c b/src/logging.c
index b09d684..6a1e929 100644
--- a/src/logging.c
+++ b/src/logging.c
@@ -48,11 +48,11 @@
 
 #include <osmocom/vty/logging.h>	/* for LOGGING_STR. */
 
-osmo_static_assert(_LOGGING_CTX_COUNT <= ARRAY_SIZE(((struct log_context*)NULL)->ctx),
+osmo_static_assert(_LOG_CTX_COUNT <= ARRAY_SIZE(((struct log_context*)NULL)->ctx),
 		   enum_logging_ctx_items_fit_in_struct_log_context);
-osmo_static_assert(_LOGGING_FILTER_COUNT <= ARRAY_SIZE(((struct log_target*)NULL)->filter_data),
+osmo_static_assert(_LOG_FLT_COUNT <= ARRAY_SIZE(((struct log_target*)NULL)->filter_data),
 		   enum_logging_filters_fit_in_log_target_filter_data);
-osmo_static_assert(_LOGGING_FILTER_COUNT <= 8*sizeof(((struct log_target*)NULL)->filter_map),
+osmo_static_assert(_LOG_FLT_COUNT <= 8*sizeof(((struct log_target*)NULL)->filter_map),
 		   enum_logging_filters_fit_in_log_target_filter_map);
 
 struct log_info *osmo_log_info;
@@ -381,7 +381,7 @@
 	/* Apply filters here... if that becomes messy we will
 	 * need to put filters in a list and each filter will
 	 * say stop, continue, output */
-	if ((tar->filter_map & (1 << LOGGING_FILTER_ALL)) != 0)
+	if ((tar->filter_map & (1 << LOG_FLT_ALL)) != 0)
 		return 1;
 
 	if (osmo_log_info->filter_fn)
@@ -499,20 +499,20 @@
 	return 0;
 }
 
-/*! \brief Enable the \ref LOGGING_FILTER_ALL log filter
+/*! \brief Enable the \ref LOG_FLT_ALL log filter
  *  \param[in] target Log target to be affected
  *  \param[in] all enable (1) or disable (0) the ALL filter
  *
- * When the \ref LOGGING_FILTER_ALL filter is enabled, all log messages will be
+ * When the \ref LOG_FLT_ALL filter is enabled, all log messages will be
  * printed.  It acts as a wildcard.  Setting it to \a 1 means there is no
  * filtering.
  */
 void log_set_all_filter(struct log_target *target, int all)
 {
 	if (all)
-		target->filter_map |= (1 << LOGGING_FILTER_ALL);
+		target->filter_map |= (1 << LOG_FLT_ALL);
 	else
-		target->filter_map &= ~(1 << LOGGING_FILTER_ALL);
+		target->filter_map &= ~(1 << LOG_FLT_ALL);
 }
 
 /*! \brief Enable or disable the use of colored output
