diff --git a/src/main/java/teetime/framework/Stage.java b/src/main/java/teetime/framework/Stage.java
index 802a5d324eb02425c3322a981b047029a74a4efb..f947b21502906d732e8ac7e1dcee3a708d0d3fe6 100644
--- a/src/main/java/teetime/framework/Stage.java
+++ b/src/main/java/teetime/framework/Stage.java
@@ -1,8 +1,8 @@
 package teetime.framework;
 
 import java.util.List;
-import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -12,8 +12,9 @@ import teetime.framework.validation.InvalidPortConnection;
 
 public abstract class Stage { // NOPMD (should not start with "Abstract")
 
+	private static final ConcurrentMap<String, Integer> INSTANCES_COUNTER = new ConcurrentHashMap<String, Integer>();
+
 	private final String id;
-	private static final Map<String, Integer> INSTANCES_COUNTER = new ConcurrentHashMap<String, Integer>();
 	/**
 	 * A unique logger instance per stage instance
 	 */
@@ -21,7 +22,7 @@ public abstract class Stage { // NOPMD (should not start with "Abstract")
 
 	protected Stage() {
 		this.id = this.createId();
-		this.logger = LoggerFactory.getLogger(this.getClass().getName() + "-" + this.id);
+		this.logger = LoggerFactory.getLogger(this.id);
 	}
 
 	public String getId() {
@@ -46,6 +47,10 @@ public abstract class Stage { // NOPMD (should not start with "Abstract")
 		return newId;
 	}
 
+	static void clearInstanceCounters() { // NOPMD (package-private to clear map in tests)
+		INSTANCES_COUNTER.clear();
+	}
+
 	// public abstract Stage getParentStage();
 	//
 	// public abstract void setParentStage(Stage parentStage, int index);
diff --git a/src/test/java/teetime/framework/StageTest.java b/src/test/java/teetime/framework/StageTest.java
index 2a63e93e38e57b2f1a342e4005477f7537e08b81..b3ac19814975d3cde840d12f2815a829a4c45dec 100644
--- a/src/test/java/teetime/framework/StageTest.java
+++ b/src/test/java/teetime/framework/StageTest.java
@@ -10,6 +10,8 @@ public class StageTest {
 
 	@Test
 	public void testId() {
+		Stage.clearInstanceCounters();
+
 		Counter<Object> counter0 = new Counter<Object>();
 		Counter<Object> counter1 = new Counter<Object>();
 		Assert.assertEquals("Counter-0", counter0.getId());