diff --git a/src/main/java/teetime/framework/concurrent/WorkerThread.java b/src/main/java/teetime/framework/concurrent/WorkerThread.java
index 309265e1727d280b78452c1c6577b09e6df23638..aebf09dc3113a3867de890d18864598eff64db63 100644
--- a/src/main/java/teetime/framework/concurrent/WorkerThread.java
+++ b/src/main/java/teetime/framework/concurrent/WorkerThread.java
@@ -40,6 +40,8 @@ public class WorkerThread extends Thread {
 
 	private final StopWatch stopWatch = new StopWatch();
 	private final StopWatch iterationStopWatch = new StopWatch();
+	private final StopWatch beforeStageExecutionStopWatch = new StopWatch();
+	private final StopWatch afterStageExecutionStopWatch = new StopWatch();
 	private final StopWatch stageExecutionStopWatch = new StopWatch();
 	private final List<Long> schedulingOverheadsInNs = new LinkedList<Long>();
 	private long durationInNs;
@@ -71,18 +73,23 @@ public class WorkerThread extends Thread {
 			final IStage stage = this.stageScheduler.get();
 
 			this.startStageExecution(stage);
-//			stageExecutionStopWatch.start();	// expensive: takes 1/3 of overall time
+			stageExecutionStopWatch.start();	// expensive: takes 1/3 of overall time
 			final boolean executedSuccessfully = stage.execute();
-//			stageExecutionStopWatch.end();
+			stageExecutionStopWatch.end();
 			this.finishStageExecution(stage, executedSuccessfully);
 
+			afterStageExecutionStopWatch.start();
+
 			if (this.shouldTerminate) {
 				this.executeTerminationPolicy(stage, executedSuccessfully);
 			}
 			this.stageScheduler.determineNextStage(stage, executedSuccessfully);
 
+			afterStageExecutionStopWatch.end();
+
 			this.iterationStopWatch.end();
-			final long schedulingOverhead = this.iterationStopWatch.getDurationInNs() - stageExecutionStopWatch.getDurationInNs();
+//			final long schedulingOverhead = this.iterationStopWatch.getDurationInNs() - stageExecutionStopWatch.getDurationInNs();
+			final long schedulingOverhead = afterStageExecutionStopWatch.getDurationInNs();
 			schedulingOverheadInNs += schedulingOverhead;
 			if ((iterations % 10000) == 0) {
 				this.schedulingOverheadsInNs.add(schedulingOverheadInNs);