diff --git a/src/test/java/teetime/framework/TerminationTest.java b/src/test/java/teetime/framework/TerminationTest.java
index c139f008c4f7a6a5fb04eb01cc63f95b29186b03..96a21031ed0e331af2ada9e9ebb5018a67e90ae6 100644
--- a/src/test/java/teetime/framework/TerminationTest.java
+++ b/src/test/java/teetime/framework/TerminationTest.java
@@ -19,6 +19,10 @@ import static org.hamcrest.Matchers.greaterThan;
 import static org.hamcrest.Matchers.is;
 import static org.junit.Assert.assertThat;
 
+import java.util.ArrayList;
+import java.util.List;
+
+import org.junit.Ignore;
 import org.junit.Test;
 
 import teetime.stage.InitialElementProducer;
@@ -26,6 +30,12 @@ import teetime.stage.basic.Sink;
 
 public class TerminationTest {
 
+	@Ignore
+	@Test(timeout = 5000)
+	public void terminatesMultiInputPort() {
+		new Execution<Configuration>(new MultiInputConfig()).executeBlocking();
+	}
+
 	@Test(timeout = 1000)
 	public void correctAbort() throws InterruptedException {
 		TerminationConfig configuration = new TerminationConfig(10);
@@ -120,4 +130,44 @@ public class TerminationTest {
 		}
 	}
 
+	private class MultiInputConsumer extends AbstractConsumerStage<Object> {
+
+		public final InputPort<Object> secondInputPort = createInputPort(Object.class);
+
+		private int count = 0;
+
+		@Override
+		protected void execute(final Object element) {
+			Object received = secondInputPort.receive();
+			if (received != null) {
+				count++;
+			}
+			if (count > 3) {
+				this.terminate();
+			}
+		}
+
+	}
+
+	private class MultiInputConfig extends Configuration {
+
+		public MultiInputConfig() {
+			List<Integer> array = new ArrayList<Integer>();
+			for (int i = 0; i < 10000; i++) {
+				array.add(new Integer(0));
+			}
+			InitialElementProducer<Object> firstInit = new InitialElementProducer<Object>(new Object());
+			InitialElementProducer<Integer> secondInit = new InitialElementProducer<Integer>(array);
+			MultiInputConsumer miConsumer = new MultiInputConsumer();
+
+			connectPorts(firstInit.getOutputPort(), miConsumer.getInputPort());
+			connectPorts(secondInit.getOutputPort(), miConsumer.secondInputPort);
+
+			firstInit.declareActive();
+			secondInit.declareActive();
+			miConsumer.declareActive();
+		}
+
+	}
+
 }