diff --git a/src/main/java/teetime/framework/ConfigurationContext.java b/src/main/java/teetime/framework/ConfigurationContext.java
index d63418239f4bcb835338229fcb5a90011547c05b..c477e6fe0a7629f0c58479acbaf9dad9b4b110f5 100644
--- a/src/main/java/teetime/framework/ConfigurationContext.java
+++ b/src/main/java/teetime/framework/ConfigurationContext.java
@@ -66,7 +66,7 @@ public abstract class ConfigurationContext extends Configuration {
 	 */
 	@Override
 	protected final void addThreadableStage(final Stage stage) {
-		if (this.threadableStages.add(stage)) {
+		if (!this.threadableStages.add(stage)) {
 			LOGGER.warn("Stage " + stage.getId() + " was already marked as threadable stage.");
 		}
 	}
diff --git a/src/test/java/teetime/examples/cipher/CipherConfiguration.java b/src/test/java/teetime/examples/cipher/CipherConfiguration.java
index 717a6fb3cd372eaef4243b9a0bb2bfae9ce8178e..7f46f37b9b21359fc9995d38d17b766d259cb3ce 100644
--- a/src/test/java/teetime/examples/cipher/CipherConfiguration.java
+++ b/src/test/java/teetime/examples/cipher/CipherConfiguration.java
@@ -47,8 +47,5 @@ public class CipherConfiguration extends ConfigurationContext {
 		connectPorts(decomp.getOutputPort(), decrypt.getInputPort());
 		connectPorts(decrypt.getOutputPort(), writer.getInputPort());
 
-		// this.getFiniteProducerStages().add(init);
-		this.addThreadableStage(init);
-
 	}
 }
diff --git a/src/test/java/teetime/examples/tokenizer/TokenizerConfiguration.java b/src/test/java/teetime/examples/tokenizer/TokenizerConfiguration.java
index d76fcbb9a3285d84e5bb6ff134d6ab5b4ba2c6d3..abafb20ba5a1f71cdb522769d18077a4fb81e695 100644
--- a/src/test/java/teetime/examples/tokenizer/TokenizerConfiguration.java
+++ b/src/test/java/teetime/examples/tokenizer/TokenizerConfiguration.java
@@ -50,7 +50,6 @@ public class TokenizerConfiguration extends ConfigurationContext {
 		connectPorts(b2s.getOutputPort(), tokenizer.getInputPort());
 		connectPorts(tokenizer.getOutputPort(), this.counter.getInputPort());
 
-		this.addThreadableStage(init);
 	}
 
 	public int getTokenCount() {
diff --git a/src/test/java/teetime/framework/ExecutionTest.java b/src/test/java/teetime/framework/ExecutionTest.java
index c32c39f5e4df702cca965dbc8e32581e439d5ec5..758dcfb1221b12ca368821057712af080c844d77 100644
--- a/src/test/java/teetime/framework/ExecutionTest.java
+++ b/src/test/java/teetime/framework/ExecutionTest.java
@@ -77,7 +77,6 @@ public class ExecutionTest {
 			final InitialElementProducer<String> init = new InitialElementProducer<String>("Hello");
 			delay = new DelayAndTerminate(DELAY_IN_MS);
 			connectPorts(init.getOutputPort(), delay.getInputPort());
-			addThreadableStage(init);
 		}
 	}
 
@@ -118,7 +117,6 @@ public class ExecutionTest {
 
 		public AnalysisTestConfig(final boolean inter) {
 			connectPorts(init.getOutputPort(), sink.getInputPort());
-			addThreadableStage(init);
 			if (inter) {
 				addThreadableStage(sink);
 			}
@@ -145,7 +143,6 @@ public class ExecutionTest {
 			connectPorts(init.getOutputPort(), iof.getInputPort());
 			connectPorts(iof.getMatchedOutputPort(), sink.getInputPort());
 			connectPorts(init.createOutputPort(), sink.createInputPort());
-			addThreadableStage(init);
 			addThreadableStage(iof);
 		}
 	}
diff --git a/src/test/java/teetime/framework/StageTest.java b/src/test/java/teetime/framework/StageTest.java
index 10725dd1087683ba26214ad8c876241a8ff36079..c8cf92c2d4a5543de9b6c3c31d00f81f991c6b5b 100644
--- a/src/test/java/teetime/framework/StageTest.java
+++ b/src/test/java/teetime/framework/StageTest.java
@@ -61,7 +61,6 @@ public class StageTest {
 			init = new InitialElementProducer<String>("Hello");
 			delay = new DelayAndTerminate(0);
 			connectPorts(init.getOutputPort(), delay.getInputPort());
-			addThreadableStage(init);
 		}
 	}
 
diff --git a/src/test/java/teetime/framework/TraversorTest.java b/src/test/java/teetime/framework/TraversorTest.java
index 6079aa010c6ec951ade1df2988c22be003fa07b8..782fc8cfafb85c3ff2538ec54f9dcf71d739bf8e 100644
--- a/src/test/java/teetime/framework/TraversorTest.java
+++ b/src/test/java/teetime/framework/TraversorTest.java
@@ -91,7 +91,6 @@ public class TraversorTest {
 			connectPorts(merger.getOutputPort(), result.getInputPort());
 
 			// Add the first and last part to the threadable stages
-			addThreadableStage(init);
 			addThreadableStage(merger);
 		}
 
diff --git a/src/test/java/teetime/framework/exceptionHandling/ExceptionTestConfiguration.java b/src/test/java/teetime/framework/exceptionHandling/ExceptionTestConfiguration.java
index bf9d3c7ae4cf98147fced1df41db3e3e1503d7d8..f7d1e4503c52766e6ddfe9b1f42b012a3fe4d726 100644
--- a/src/test/java/teetime/framework/exceptionHandling/ExceptionTestConfiguration.java
+++ b/src/test/java/teetime/framework/exceptionHandling/ExceptionTestConfiguration.java
@@ -32,6 +32,6 @@ public class ExceptionTestConfiguration extends ConfigurationContext {
 		// this.addThreadableStage(new ExceptionTestStage());
 
 		this.addThreadableStage(second);
-		// this.addThreadableStage(third);
+		this.addThreadableStage(third);
 	}
 }
diff --git a/src/test/java/teetime/stage/InstanceOfFilterTest.java b/src/test/java/teetime/stage/InstanceOfFilterTest.java
index 6b385175126ea38c50753b2b60e92cd0b6a87a52..f4152c64ec89bfed0a176d0c9fa76b9e56591973 100644
--- a/src/test/java/teetime/stage/InstanceOfFilterTest.java
+++ b/src/test/java/teetime/stage/InstanceOfFilterTest.java
@@ -29,8 +29,8 @@ import java.util.List;
 import org.junit.Before;
 import org.junit.Test;
 
-import teetime.framework.Execution;
 import teetime.framework.ConfigurationContext;
+import teetime.framework.Execution;
 import teetime.framework.ExecutionException;
 import teetime.util.Pair;
 
@@ -134,7 +134,6 @@ public class InstanceOfFilterTest {
 			connectPorts(instanceOfFilter.getMatchedOutputPort(), clazzCollector.getInputPort());
 			connectPorts(instanceOfFilter.getMismatchedOutputPort(), mismatchedCollector.getInputPort());
 
-			addThreadableStage(elementProducer);
 		}
 	}