Index: libcfa/src/concurrency/kernel.cfa
===================================================================
--- libcfa/src/concurrency/kernel.cfa	(revision 7812a7b58de49d3c24921120d935d3f6008cfc21)
+++ libcfa/src/concurrency/kernel.cfa	(revision 398e8e9622219a6c1554e9eec7d2d19d06d6d57e)
@@ -346,5 +346,5 @@
 
 		$thread * readyThread = 0p;
-		for( unsigned int spin_count = 0; ! __atomic_load_n(&this->do_terminate, __ATOMIC_SEQ_CST); spin_count++ ) {
+		for( unsigned int spin_count = 0;; spin_count++ ) {
 			// Try to get the next thread
 			readyThread = __next_thread( this->cltr );
@@ -362,5 +362,8 @@
 				/* paranoid */ verify( ! kernelTLS.preemption_state.enabled );
 			}
-			else {
+
+			if(__atomic_load_n(&this->do_terminate, __ATOMIC_SEQ_CST)) break;
+
+			if( !readyThread ) {
 				// Block until a thread is ready
 				__halt(this);
