 				testListener.onTestSuccess(new TestSuccess(currentTest, currentMethod.name));
 			}
 
-			// Calling synchronously is slightly faster but keeps adding to the call stack.
-			//runNextMethod();
+			// Calling synchronously is faster but keeps adding to the call stack.
+			runNextMethod();
 			
 			// green thread for runNextMethod()
-			timer.reset();
-			timer.start();
+			// This runs much slower in Flash Player 10.1.
+			//timer.reset();
+			//timer.start();
 		}
 		
 		protected function onAsyncMethodCalled(event:TimeoutCommandEvent):void {

		}
		
		protected function onAsyncMethodCompleted(event:Event = null):void {
			if (!Async.instance.hasPending) {
				onMethodCompleted();
			}
		}

		protected var methodsToRun:TestIterator;
		protected var methodTimeoutID:int = -1;
		protected var methodPassed:Boolean = true;
		protected var methodIsExecuting:Boolean = false;

		public function TestRunner() {
			timer = new Timer(0, 1);
