Index: tests/unified_locking/mutex_test.hfa
===================================================================
--- tests/unified_locking/mutex_test.hfa	(revision 2ed32fa79f48cc64f2de86bc0262f9ee73af2f0c)
+++ tests/unified_locking/mutex_test.hfa	(revision 1dbbef6589e7fa96c6a3e4dfdc0c68971d35cd60)
@@ -22,9 +22,10 @@
 }
 
-uint32_t cs() {
+uint32_t cs(uint32_t & entries) {
 	thread$ * me = active_thread();
 	uint32_t value;
 	lock(mo.l);
 	{
+		entries++;
 		uint32_t tsum = mo.sum;
 		uint32_t cnt = mo.cnt;
@@ -42,11 +43,13 @@
 thread LockCheck {
 	uint32_t sum;
+	uint32_t entries;
 };
 
 void main(LockCheck & this) {
 	this.sum = 0;
+	this.entries = 0;
 	for(num_times) {
 		trash();
-		this.sum += cs();
+		this.sum += cs( this.entries );
 		trash();
 		yield(random(10));
@@ -58,4 +61,5 @@
 	mo.sum = -32;
 	mo.cnt = 0;
+	uint32_t real_entries = 0;
 	processor p[2];
 	sout | "Starting";
@@ -63,9 +67,12 @@
 		LockCheck checkers[13];
 		for(i;13) {
-			sum += join(checkers[i]).sum;
+			LockCheck & curr = join(checkers[i]);
+			sum += curr.sum;
+			real_entries += curr.entries;
 		}
 	}
 	sout | "Done!";
-	if(mo.cnt != (13 * num_times)) sout | "Invalid cs count!" | mo.cnt | "vs "| (13 * num_times) | "(13 *" | num_times | ')';
+	if(real_entries != (13 * num_times)) sout | "Invalid real cs count!" | mo.cnt | "vs "| (13 * num_times) | "(13 *" | num_times | ')';
+	if(mo.cnt != (13 * num_times)) sout | "Invalid concurrent cs count!" | mo.cnt | "vs "| (13 * num_times) | "(13 *" | num_times | ')';
 	if(sum == mo.sum) sout | "Match!";
 	else sout | "No Match!" | sum | "vs" | mo.sum;
