diff --git a/src/vty/stats_vty.c b/src/vty/stats_vty.c
index a512703..4628281 100644
--- a/src/vty/stats_vty.c
+++ b/src/vty/stats_vty.c
@@ -245,6 +245,27 @@
 	return CMD_SUCCESS;
 }
 
+DEFUN(cfg_stats_reporter_flush_period, cfg_stats_reporter_flush_period_cmd,
+	"flush-period <0-65535>",
+	CFG_STATS_STR "Send all stats even if they have not changed (i.e. force the flush)"
+	              "every N-th reporting interval. Set to 0 to disable regular flush (default).\n"
+	"0 to disable regular flush (default), 1 to flush every time, 2 to flush every 2nd time, etc\n")
+{
+	int rc;
+	unsigned int period = atoi(argv[0]);
+	struct osmo_stats_reporter *srep = osmo_stats_vty2srep(vty);
+	OSMO_ASSERT(srep);
+
+	rc = osmo_stats_reporter_set_flush_period(srep, period);
+	if (rc < 0) {
+		vty_out(vty, "%% Unable to set force flush period: %s%s",
+			strerror(-rc), VTY_NEWLINE);
+		return CMD_WARNING;
+	}
+
+	return CMD_SUCCESS;
+}
+
 DEFUN(cfg_stats_reporter_statsd, cfg_stats_reporter_statsd_cmd,
 	"stats reporter statsd",
 	CFG_STATS_STR CFG_REPORTER_STR "Report to a STATSD server\n")
@@ -588,6 +609,10 @@
 	else
 		vty_out(vty, "  no prefix%s", VTY_NEWLINE);
 
+	if (srep->flush_period > 0)
+		vty_out(vty, "  flush-period %d%s",
+			srep->flush_period, VTY_NEWLINE);
+
 	if (srep->enabled)
 		vty_out(vty, "  enable%s", VTY_NEWLINE);
 
@@ -637,6 +662,7 @@
 	install_element(CFG_STATS_NODE, &cfg_stats_reporter_level_cmd);
 	install_element(CFG_STATS_NODE, &cfg_stats_reporter_enable_cmd);
 	install_element(CFG_STATS_NODE, &cfg_stats_reporter_disable_cmd);
+	install_element(CFG_STATS_NODE, &cfg_stats_reporter_flush_period_cmd);
 
 	install_element_ve(&show_stats_asciidoc_table_cmd);
 	install_element_ve(&show_rate_counters_cmd);
