diff --git a/openbsc/src/bsc_hack.c b/openbsc/src/bsc_hack.c
index 0d20d43..8792cc3 100644
--- a/openbsc/src/bsc_hack.c
+++ b/openbsc/src/bsc_hack.c
@@ -43,6 +43,11 @@
 static const char *database_name = "hlr.sqlite3";
 static const char *config_file = "openbsc.cfg";
 
+
+/* timer to store statistics */
+#define DB_SYNC_INTERVAL	60, 0
+static struct timer_list db_sync_timer;
+
 extern int bsc_bootstrap_network(int (*mmc_rev)(struct gsm_network *, int, void *),
 				 const char *cfg_file);
 extern int bsc_shutdown_net(struct gsm_network *net);
@@ -155,6 +160,19 @@
 	}
 }
 
+/* timer handling */
+static int _db_store_counter(struct counter *counter, void *data)
+{
+	return db_store_counter(counter);
+}
+
+static void db_sync_timer_cb(void *data)
+{
+	/* store counters to database and re-schedule */
+	counters_for_each(_db_store_counter, NULL);
+	bsc_schedule_timer(&db_sync_timer, DB_SYNC_INTERVAL);
+}
+
 int main(int argc, char **argv)
 {
 	int rc;
@@ -189,6 +207,11 @@
 	}
 	printf("DB: Database prepared.\n");
 
+	/* setup the timer */
+	db_sync_timer.cb = db_sync_timer_cb;
+	db_sync_timer.data = NULL;
+	bsc_schedule_timer(&db_sync_timer, DB_SYNC_INTERVAL);
+
 	rc = bsc_bootstrap_network(mncc_recv, config_file);
 	if (rc < 0)
 		exit(1);
diff --git a/openbsc/src/statistics.c b/openbsc/src/statistics.c
index 4cc281d..9bd44f3 100644
--- a/openbsc/src/statistics.c
+++ b/openbsc/src/statistics.c
@@ -33,10 +33,6 @@
 
 static LLIST_HEAD(counters);
 
-static struct timer_list db_sync_timer;
-
-#define DB_SYNC_INTERVAL	60, 0
-
 struct counter *counter_alloc(const char *name)
 {
 	struct counter *ctr = talloc_zero(tall_bsc_ctx, struct counter);
@@ -56,13 +52,13 @@
 	talloc_free(ctr);
 }
 
-static int counters_store_db(void)
+int counters_for_each(int (*handle_counter)(struct counter *, void *), void *data)
 {
 	struct counter *ctr;
 	int rc = 0;
 
 	llist_for_each_entry(ctr, &counters, list) {
-		rc = db_store_counter(ctr);
+		rc = handle_counter(ctr, data);
 		if (rc < 0)
 			return rc;
 	}
@@ -70,16 +66,3 @@
 	return rc;
 }
 
-static void db_sync_timer_cb(void *data)
-{
-	/* store counters to database and re-schedule */
-	counters_store_db();
-	bsc_schedule_timer(&db_sync_timer, DB_SYNC_INTERVAL);
-}
-
-static __attribute__((constructor)) void on_dso_load_stat(void)
-{
-	db_sync_timer.cb = db_sync_timer_cb;
-	db_sync_timer.data = NULL;
-	bsc_schedule_timer(&db_sync_timer, DB_SYNC_INTERVAL);
-}
