Index: libcfa/src/concurrency/ready_queue.cfa
===================================================================
--- libcfa/src/concurrency/ready_queue.cfa	(revision a3effccaaf0fb54f32e321fd05e95ab0bf47d1aa)
+++ libcfa/src/concurrency/ready_queue.cfa	(revision 5fe7322de7a85b78511cb68a826169697d98f7c8)
@@ -262,5 +262,6 @@
 	do {
 		// Pick the index of a lane
-		unsigned r = __tls_rand();
+		// unsigned r = __tls_rand();
+		unsigned r = __tls_rand_fwd();
 		[i, local] = idx_from_r(r, preferred);
 
@@ -283,5 +284,9 @@
 
 	// Actually push it
-	bool lane_first = push(lanes.data[i], thrd);
+	#ifdef USE_SNZI
+		bool lane_first =
+	#endif
+
+	push(lanes.data[i], thrd);
 
 	#ifdef USE_SNZI
@@ -295,4 +300,6 @@
 		}
 	#endif
+
+	__tls_rand_advance_bck();
 
 	// Unlock and return
@@ -335,6 +342,8 @@
 	#endif
 		// Pick two lists at random
-		unsigned ri = __tls_rand();
-		unsigned rj = __tls_rand();
+		// unsigned ri = __tls_rand();
+		// unsigned rj = __tls_rand();
+		unsigned ri = __tls_rand_bck();
+		unsigned rj = __tls_rand_bck();
 
 		unsigned i, j;
