Index: tests/exceptions/.expect/pingpong_nonlocal.txt
===================================================================
--- tests/exceptions/.expect/pingpong_nonlocal.txt	(revision a2eb21a3e75fa9dd8fd465b9179ac734db266da5)
+++ tests/exceptions/.expect/pingpong_nonlocal.txt	(revision 4c8ce47cc0e5bf21ab409146e9a060bf5f45aac5)
@@ -1,5 +1,3 @@
 main start
-ping start
-pong start
 pong catchResume 0 0
 ping catchResume 0 1
@@ -103,6 +101,4 @@
 ping catchResume 97 99
 pong catch 98 100
-pong end
 ping catch 99 101
-ping end
 main end
Index: tests/exceptions/pingpong_nonlocal.cfa
===================================================================
--- tests/exceptions/pingpong_nonlocal.cfa	(revision a2eb21a3e75fa9dd8fd465b9179ac734db266da5)
+++ tests/exceptions/pingpong_nonlocal.cfa	(revision 4c8ce47cc0e5bf21ab409146e9a060bf5f45aac5)
@@ -3,4 +3,5 @@
 #include <fstream.hfa>
 #include <mutex_stmt.hfa>
+#include <locks.hfa>
 
 exception num_ping_pongs { int num; };
@@ -13,4 +14,6 @@
 	Ping_Pong & partner;
 };
+
+semaphore sync{0};
 
 void ?{}( Ping_Pong & this, char * name ) with( this ) {
@@ -27,5 +30,5 @@
 		resumeAt( partner, except );
 	}
-	mutex( sout ) sout | name | "start";
+	// mutex( sout ) sout | name | "start"; // removed to get rid of output race
 	try {
 		for () {
@@ -42,5 +45,5 @@
 		}
 	}
-	mutex( sout ) sout | name | "end";
+	// mutex( sout ) sout | name | "end"; // removed to get rid of output race
 }
 
