Index: libcfa/src/concurrency/io.cfa
===================================================================
--- libcfa/src/concurrency/io.cfa	(revision 1756e08b017e5c08cc38d573907cf8224d4c9332)
+++ libcfa/src/concurrency/io.cfa	(revision 5f9c42bc7375583e7b9739ec0f5afd42ab94c1f0)
@@ -201,5 +201,5 @@
 		__atomic_unlock(&ctx->cq.lock);
 
-		touch_tsc( cltr->sched.io.tscs, ctx->cq.id, ts_prev, ts_next );
+		touch_tsc( cltr->sched.io.tscs, ctx->cq.id, ts_prev, ts_next, false );
 
 		return true;
@@ -243,6 +243,6 @@
 				/* paranoid */ verify( io.tscs[target].t.tv != ULLONG_MAX );
 				HELP: if(target < ctxs_count) {
-					const unsigned long long cutoff = calc_cutoff(ctsc, ctx->cq.id, ctxs_count, io.data, io.tscs, __shard_factor.io);
-					const unsigned long long age = moving_average(ctsc, io.tscs[target].t.tv, io.tscs[target].t.ma);
+					const unsigned long long cutoff = calc_cutoff(ctsc, ctx->cq.id, ctxs_count, io.data, io.tscs, __shard_factor.io, false);
+					const unsigned long long age = moving_average(ctsc, io.tscs[target].t.tv, io.tscs[target].t.ma, false);
 					__cfadbg_print_safe(io, "Kernel I/O: Help attempt on %u from %u, age %'llu vs cutoff %'llu, %s\n", target, ctx->cq.id, age, cutoff, age > cutoff ? "yes" : "no");
 					if(age <= cutoff) break HELP;
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;
 		}
Index: libcfa/src/concurrency/ready_queue.cfa
===================================================================
--- libcfa/src/concurrency/ready_queue.cfa	(revision 1756e08b017e5c08cc38d573907cf8224d4c9332)
+++ libcfa/src/concurrency/ready_queue.cfa	(revision 5f9c42bc7375583e7b9739ec0f5afd42ab94c1f0)
@@ -139,6 +139,6 @@
 		/* paranoid */ verify( readyQ.tscs[target].t.tv != ULLONG_MAX );
 		if(target < lanes_count) {
-			const unsigned long long cutoff = calc_cutoff(ctsc, proc->rdq.id, lanes_count, cltr->sched.readyQ.data, cltr->sched.readyQ.tscs, __shard_factor.readyq);
-			const unsigned long long age = moving_average(ctsc, readyQ.tscs[target].t.tv, readyQ.tscs[target].t.ma);
+			const unsigned long long cutoff = calc_cutoff(ctsc, proc->rdq.id, lanes_count, cltr->sched.readyQ.data, cltr->sched.readyQ.tscs, __shard_factor.readyq, true);
+			const unsigned long long age = moving_average(ctsc, readyQ.tscs[target].t.tv, readyQ.tscs[target].t.ma, false);
 			__cfadbg_print_safe(ready_queue, "Kernel : Help attempt on %u from %u, age %'llu vs cutoff %'llu, %s\n", target, this, age, cutoff, age > cutoff ? "yes" : "no");
 			if(age > cutoff) {
@@ -214,5 +214,5 @@
 	__STATS( stats.success++; )
 
-	touch_tsc(readyQ.tscs, w, ts_prev, ts_next);
+	touch_tsc(readyQ.tscs, w, ts_prev, ts_next, true);
 
 	thrd->preferred = w / __shard_factor.readyq;
