diff --git a/include/Makefile.am b/include/Makefile.am
index 4e92d55..4714003 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -12,6 +12,7 @@
                        osmocom/core/bitcomp.h \
                        osmocom/core/byteswap.h \
                        osmocom/core/conv.h \
+                       osmocom/core/counter.h \
                        osmocom/core/crc16.h \
                        osmocom/core/crc16gen.h \
                        osmocom/core/crc32gen.h \
diff --git a/include/osmocom/core/counter.h b/include/osmocom/core/counter.h
new file mode 100644
index 0000000..f4429cd
--- /dev/null
+++ b/include/osmocom/core/counter.h
@@ -0,0 +1,60 @@
+#pragma once
+
+/*! \file counter.h
+ *  Common routines regarding counter handling */
+
+/*! structure representing a single counter */
+struct osmo_counter {
+	struct llist_head list;		/*!< internal list head */
+	const char *name;		/*!< human-readable name */
+	const char *description;	/*!< humn-readable description */
+	unsigned long value;		/*!< current value */
+	unsigned long previous;		/*!< previous value */
+};
+
+/*! Decrement counter */
+static inline void osmo_counter_dec(struct osmo_counter *ctr)
+{
+	ctr->value--;
+}
+
+/*! Increment counter */
+static inline void osmo_counter_inc(struct osmo_counter *ctr)
+{
+	ctr->value++;
+}
+
+/*! Get current value of counter */
+static inline unsigned long osmo_counter_get(struct osmo_counter *ctr)
+{
+	return ctr->value;
+}
+
+/*! Reset current value of counter to 0 */
+static inline void osmo_counter_reset(struct osmo_counter *ctr)
+{
+	ctr->value = 0;
+}
+
+/*! Allocate a new counter */
+struct osmo_counter *osmo_counter_alloc(const char *name);
+
+/*! Free the specified counter
+ *  \param[in] ctr Counter
+ */
+void osmo_counter_free(struct osmo_counter *ctr);
+
+/*! Iterate over all counters
+ *  \param[in] handle_counter Call-back function, aborts if rc < 0
+ *  \param[in] data Private dtata handed through to \a handle_counter
+ */
+int osmo_counters_for_each(int (*handle_counter)(struct osmo_counter *, void *), void *data);
+
+/*! Resolve counter by human-readable name
+ *  \param[in] name human-readable name of counter
+ *  \returns pointer to counter (\ref osmo_counter) or NULL otherwise
+ */
+struct osmo_counter *osmo_counter_get_by_name(const char *name);
+
+/*! Return the counter difference since the last call to this function */
+int osmo_counter_difference(struct osmo_counter *ctr);
diff --git a/include/osmocom/core/statistics.h b/include/osmocom/core/statistics.h
index 5ebb5fc..e7da72a 100644
--- a/include/osmocom/core/statistics.h
+++ b/include/osmocom/core/statistics.h
@@ -1,60 +1,2 @@
-#pragma once
-
-/*! \file statistics.h
- *  Common routines regarding statistics */
-
-/*! structure representing a single counter */
-struct osmo_counter {
-	struct llist_head list;		/*!< internal list head */
-	const char *name;		/*!< human-readable name */
-	const char *description;	/*!< humn-readable description */
-	unsigned long value;		/*!< current value */
-	unsigned long previous;		/*!< previous value */
-};
-
-/*! Decrement counter */
-static inline void osmo_counter_dec(struct osmo_counter *ctr)
-{
-	ctr->value--;
-}
-
-/*! Increment counter */
-static inline void osmo_counter_inc(struct osmo_counter *ctr)
-{
-	ctr->value++;
-}
-
-/*! Get current value of counter */
-static inline unsigned long osmo_counter_get(struct osmo_counter *ctr)
-{
-	return ctr->value;
-}
-
-/*! Reset current value of counter to 0 */
-static inline void osmo_counter_reset(struct osmo_counter *ctr)
-{
-	ctr->value = 0;
-}
-
-/*! Allocate a new counter */
-struct osmo_counter *osmo_counter_alloc(const char *name);
-
-/*! Free the specified counter
- *  \param[in] ctr Counter
- */
-void osmo_counter_free(struct osmo_counter *ctr);
-
-/*! Iterate over all counters
- *  \param[in] handle_counter Call-back function, aborts if rc < 0
- *  \param[in] data Private dtata handed through to \a handle_counter
- */
-int osmo_counters_for_each(int (*handle_counter)(struct osmo_counter *, void *), void *data);
-
-/*! Resolve counter by human-readable name
- *  \param[in] name human-readable name of counter
- *  \returns pointer to counter (\ref osmo_counter) or NULL otherwise
- */
-struct osmo_counter *osmo_counter_get_by_name(const char *name);
-
-/*! Return the counter difference since the last call to this function */
-int osmo_counter_difference(struct osmo_counter *ctr);
+/* wrapper for legacy code, when counter.h was called statistics.h */
+#include <osmocom/core/counter.h>
diff --git a/src/Makefile.am b/src/Makefile.am
index 8e7ef4b..4925eed 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -14,7 +14,7 @@
 
 libosmocore_la_LIBADD = $(BACKTRACE_LIB) $(TALLOC_LIBS)
 libosmocore_la_SOURCES = timer.c timer_gettimeofday.c select.c signal.c msgb.c bits.c \
-			 bitvec.c bitcomp.c statistics.c fsm.c \
+			 bitvec.c bitcomp.c counter.c fsm.c \
 			 write_queue.c utils.c socket.c \
 			 logging.c logging_syslog.c logging_gsmtap.c rate_ctr.c \
 			 gsmtap_util.c crc16.c panic.c backtrace.c \
diff --git a/src/statistics.c b/src/counter.c
similarity index 96%
rename from src/statistics.c
rename to src/counter.c
index fc808f5..6fa87ba 100644
--- a/src/statistics.c
+++ b/src/counter.c
@@ -1,4 +1,4 @@
-/*! \file statistics.c
+/*! \file counter.c
  * utility routines for keeping some statistics. */
 /*
  * (C) 2009 by Harald Welte <laforge@gnumonks.org>
@@ -25,7 +25,7 @@
 
 #include <osmocom/core/linuxlist.h>
 #include <osmocom/core/talloc.h>
-#include <osmocom/core/statistics.h>
+#include <osmocom/core/counter.h>
 
 static LLIST_HEAD(counters);
 
diff --git a/src/ctrl/control_if.c b/src/ctrl/control_if.c
index 47efb25..d50ddd0 100644
--- a/src/ctrl/control_if.c
+++ b/src/ctrl/control_if.c
@@ -50,7 +50,7 @@
 #include <osmocom/core/msgb.h>
 #include <osmocom/core/rate_ctr.h>
 #include <osmocom/core/select.h>
-#include <osmocom/core/statistics.h>
+#include <osmocom/core/counter.h>
 #include <osmocom/core/talloc.h>
 #include <osmocom/core/socket.h>
 
diff --git a/src/stats.c b/src/stats.c
index b39ec53..d9df232 100644
--- a/src/stats.c
+++ b/src/stats.c
@@ -46,7 +46,7 @@
 #include <osmocom/core/rate_ctr.h>
 #include <osmocom/core/stat_item.h>
 #include <osmocom/core/timer.h>
-#include <osmocom/core/statistics.h>
+#include <osmocom/core/counter.h>
 #include <osmocom/core/msgb.h>
 
 #define STATS_DEFAULT_INTERVAL 5 /* secs */
diff --git a/src/vty/stats_vty.c b/src/vty/stats_vty.c
index a4c73fa..95f04bc 100644
--- a/src/vty/stats_vty.c
+++ b/src/vty/stats_vty.c
@@ -35,7 +35,7 @@
 #include <osmocom/vty/misc.h>
 
 #include <osmocom/core/stats.h>
-#include <osmocom/core/statistics.h>
+#include <osmocom/core/counter.h>
 #include <osmocom/core/rate_ctr.h>
 
 #define CFG_STATS_STR "Configure stats sub-system\n"
diff --git a/src/vty/utils.c b/src/vty/utils.c
index 9d1bdf9..e7aeb88 100644
--- a/src/vty/utils.c
+++ b/src/vty/utils.c
@@ -33,7 +33,7 @@
 #include <osmocom/core/rate_ctr.h>
 #include <osmocom/core/stat_item.h>
 #include <osmocom/core/utils.h>
-#include <osmocom/core/statistics.h>
+#include <osmocom/core/counter.h>
 
 #include <osmocom/vty/vty.h>
 
