diff --git a/src/main/java/teetime/framework/AbstractRunnableStage.java b/src/main/java/teetime/framework/AbstractRunnableStage.java
index 6a60232182d242ffbf3641d5f47651f82fa9b9f7..1a0449f9dcd3c8ca2879ac97ae4a0580f691af11 100644
--- a/src/main/java/teetime/framework/AbstractRunnableStage.java
+++ b/src/main/java/teetime/framework/AbstractRunnableStage.java
@@ -84,7 +84,7 @@ abstract class AbstractRunnableStage implements Runnable {
 	protected abstract void afterStageExecution();
 
 	static AbstractRunnableStage create(final Stage stage) {
-		if (stage.getTerminationStrategy() == TerminationStrategy.BY_SIGNAL) {
+		if (stage.getInputPorts().size() > 0) {
 			return new RunnableConsumerStage(stage);
 		} else {
 			return new RunnableProducerStage(stage);