Index: libcfa/src/concurrency/kernel/startup.cfa
===================================================================
--- libcfa/src/concurrency/kernel/startup.cfa	(revision 73f4d084fe155d69b7fe36866e5666bde0a03166)
+++ libcfa/src/concurrency/kernel/startup.cfa	(revision a33c11376e88fecef869e2f63e32b80f9410edc8)
@@ -493,8 +493,6 @@
 	unlock( this.cltr->idles );
 
-	id = doregister((__processor_id_t*)&this);
-
-	// Lock the RWlock so no-one pushes/pops while we are changing the queue
-	uint_fast32_t last_size = ready_mutate_lock();
+	// 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);
 
 		// Adjust the ready queue size
@@ -519,9 +517,6 @@
 		ready_queue_shrink( this.cltr, target );
 
-	// Unlock the RWlock
-	ready_mutate_unlock( last_size );
-
-	// Finally we don't need the read_lock any more
-	unregister((__processor_id_t*)&this);
+	// Unlock the RWlock and unregister: we don't need the read_lock any more
+	ready_mutate_unregister((__processor_id_t*)&this, last_size );
 
 	close(this.idle);
