Index: libcfa/src/concurrency/kernel/startup.cfa
===================================================================
--- libcfa/src/concurrency/kernel/startup.cfa	(revision c9c1c1cb39a44ae90eba78b399195de9a940648d)
+++ libcfa/src/concurrency/kernel/startup.cfa	(revision 470618c0eaa607fe44af9046522d8de883087e5f)
@@ -18,20 +18,20 @@
 
 // C Includes
-#include <errno.h>              // errno
+#include <errno.h>										// errno
 #include <signal.h>
-#include <string.h>             // strerror
-#include <unistd.h>             // sysconf
+#include <string.h>										// strerror
+#include <unistd.h>										// sysconf
 
 extern "C" {
-      #include <limits.h>       // PTHREAD_STACK_MIN
-	#include <unistd.h>       // syscall
-	#include <sys/eventfd.h>  // eventfd
-      #include <sys/mman.h>     // mprotect
-      #include <sys/resource.h> // getrlimit
+	#include <limits.h>									// PTHREAD_STACK_MIN
+	#include <unistd.h>									// syscall
+	#include <sys/eventfd.h>							// eventfd
+	#include <sys/mman.h>								// mprotect
+	#include <sys/resource.h>							// getrlimit
 }
 
 // CFA Includes
 #include "kernel_private.hfa"
-#include "startup.hfa"          // STARTUP_PRIORITY_XXX
+#include "startup.hfa"									// STARTUP_PRIORITY_XXX
 #include "limits.hfa"
 #include "math.hfa"
@@ -102,5 +102,5 @@
 extern void __wake_proc(processor *);
 extern int cfa_main_returned;							// from interpose.cfa
-extern uint32_t __global_random_seed;
+uint32_t __global_random_prime = 4_294_967_291u, __global_random_mask = false;
 
 //-----------------------------------------------------------------------------
@@ -490,5 +490,5 @@
 	preferred = ready_queue_new_preferred();
 	last_proc = 0p;
-	random_state = __global_random_seed;
+	random_state = __global_random_mask ? __global_random_prime : __global_random_prime ^ rdtscl();
 	#if defined( __CFA_WITH_VERIFY__ )
 		canary = 0x0D15EA5E0D15EA5Ep;
