Index: libcfa/src/concurrency/kernel/startup.cfa
===================================================================
--- libcfa/src/concurrency/kernel/startup.cfa	(revision a33c11376e88fecef869e2f63e32b80f9410edc8)
+++ libcfa/src/concurrency/kernel/startup.cfa	(revision a7504db5aad15d98237e3e2f2520fdffee68aeae)
@@ -489,10 +489,7 @@
 	#endif
 
-	lock( this.cltr->idles );
-		int target = this.cltr->idles.total += 1u;
-	unlock( this.cltr->idles );
-
 	// Register and Lock the RWlock so no-one pushes/pops while we are changing the queue
 	uint_fast32_t last_size = ready_mutate_register((__processor_id_t*)&this);
+		int target = this.cltr->idles.total += 1u;
 
 		// Adjust the ready queue size
@@ -507,10 +504,7 @@
 // Not a ctor, it just preps the destruction but should not destroy members
 static void deinit(processor & this) {
-	lock( this.cltr->idles );
-		int target = this.cltr->idles.total -= 1u;
-	unlock( this.cltr->idles );
-
 	// Lock the RWlock so no-one pushes/pops while we are changing the queue
 	uint_fast32_t last_size = ready_mutate_lock();
+		int target = this.cltr->idles.total -= 1u;
 
 		// Adjust the ready queue size
