Index: libcfa/src/concurrency/kernel/cluster.hfa
===================================================================
--- libcfa/src/concurrency/kernel/cluster.hfa	(revision 1756e08b017e5c08cc38d573907cf8224d4c9332)
+++ libcfa/src/concurrency/kernel/cluster.hfa	(revision 5f9c42bc7375583e7b9739ec0f5afd42ab94c1f0)
@@ -23,6 +23,6 @@
 //-----------------------------------------------------------------------
 // Calc moving average based on existing average, before and current time.
-static inline unsigned long long moving_average(unsigned long long currtsc, unsigned long long instsc, unsigned long long old_avg) {
-	/* paranoid */ verifyf( old_avg < 15000000000000, "Suspiciously large previous average: %'llu (%llx)\n", old_avg, old_avg );
+static inline unsigned long long moving_average(unsigned long long currtsc, unsigned long long instsc, unsigned long long old_avg, bool strict) {
+	(void)strict; // disable the warning around the fact this is unused in release.
 
 	const unsigned long long new_val = currtsc > instsc ? currtsc - instsc : 0;
@@ -34,10 +34,10 @@
 }
 
-static inline void touch_tsc(__timestamp_t * tscs, size_t idx, unsigned long long ts_prev, unsigned long long ts_next) {
+static inline void touch_tsc(__timestamp_t * tscs, size_t idx, unsigned long long ts_prev, unsigned long long ts_next, bool strict) {
 	if (ts_next == ULLONG_MAX) return;
 	unsigned long long now = rdtscl();
 	unsigned long long pma = __atomic_load_n(&tscs[ idx ].t.ma, __ATOMIC_RELAXED);
 	__atomic_store_n(&tscs[ idx ].t.tv, ts_next, __ATOMIC_RELAXED);
-	__atomic_store_n(&tscs[ idx ].t.ma, moving_average(now, ts_prev, pma), __ATOMIC_RELAXED);
+	__atomic_store_n(&tscs[ idx ].t.ma, moving_average(now, ts_prev, pma, strict), __ATOMIC_RELAXED);
 }
 
@@ -51,5 +51,6 @@
 	Data_t * data,
 	__timestamp_t * tscs,
-	const unsigned shard_factor
+	const unsigned shard_factor,
+	bool strict
 ) {
 	unsigned start = procid;
@@ -59,5 +60,5 @@
 		if(ptsc != ULLONG_MAX) {
 			/* paranoid */ verify( start + i < count );
-			unsigned long long tsc = moving_average(ctsc, ptsc, tscs[start + i].t.ma);
+			unsigned long long tsc = moving_average(ctsc, ptsc, tscs[start + i].t.ma, strict);
 			if(tsc > max) max = tsc;
 		}
