Index: libcfa/src/concurrency/kernel.cfa
===================================================================
--- libcfa/src/concurrency/kernel.cfa	(revision ae7be7a5727c6a0974d8f0a4bf6bab4149b6c80d)
+++ libcfa/src/concurrency/kernel.cfa	(revision f0ce5f46bf7a712637429882bcf81e19c2741855)
@@ -312,5 +312,6 @@
 	unregister(this->cltr, this);
 
-	V( this->terminated );
+	bool signalled = V( this->terminated );
+	if(signalled)
 
 	__cfaabi_dbg_print_safe("Kernel : core %p terminated\n", this);
@@ -920,5 +921,5 @@
 }
 
-void V(semaphore & this) with( this ) {
+bool V(semaphore & this) with( this ) {
 	$thread * thrd = 0p;
 	lock( lock __cfaabi_dbg_ctx2 );
@@ -933,4 +934,6 @@
 	// make new owner
 	unpark( thrd __cfaabi_dbg_ctx2 );
+
+	return thrd != 0p;
 }
 
@@ -988,10 +991,10 @@
 		void __cfaabi_dbg_record_thrd($thread & this, bool park, const char prev_name[]) {
 			if(park) {
-				this.prev_park    = prev_name;
-				this.park_stale   = false;
+				this.park_caller   = prev_name;
+				this.park_stale    = false;
 			}
 			else {
-				this.prev_unpark  = prev_name;
-				this.unpark_stale = false;
+				this.unpark_caller = prev_name;
+				this.unpark_stale  = false;
 			}
 		}
Index: libcfa/src/concurrency/kernel.hfa
===================================================================
--- libcfa/src/concurrency/kernel.hfa	(revision ae7be7a5727c6a0974d8f0a4bf6bab4149b6c80d)
+++ libcfa/src/concurrency/kernel.hfa	(revision f0ce5f46bf7a712637429882bcf81e19c2741855)
@@ -38,5 +38,5 @@
 void ^?{}(semaphore & this);
 void   P (semaphore & this);
-void   V (semaphore & this);
+bool   V (semaphore & this);
 
 
