diff --git a/src/main/java/teetime/stage/basic/merger/Merger.java b/src/main/java/teetime/stage/basic/merger/Merger.java
index 10c5f4f23a692edc5e2c1b202e38e899d42f5a3d..289c1ca8fe9614fad1f9dd130bbf0a3be4366556 100644
--- a/src/main/java/teetime/stage/basic/merger/Merger.java
+++ b/src/main/java/teetime/stage/basic/merger/Merger.java
@@ -85,11 +85,11 @@ public final class Merger<T> extends AbstractStage {
 			}
 
 			if (set.size() == this.getInputPorts().length) {
+				signal.trigger(this);
 				this.outputPort.sendSignal(signal);
 				signalMap.remove(signal.getClass());
 			}
 		} else {
-			signal.trigger(this);
 			Set<InputPort<?>> tempSet = new HashSet<InputPort<?>>();
 			tempSet.add(inputPort);
 			signalMap.put(signal.getClass(), tempSet);
diff --git a/src/test/java/teetime/stage/WordCountingTest.java b/src/test/java/teetime/stage/WordCountingTest.java
index 1d2da4ef2f7cf78ff2ad2b171a1f4011652e31b2..72798f4062c19eb12eac5fea25a6200b374fe232 100644
--- a/src/test/java/teetime/stage/WordCountingTest.java
+++ b/src/test/java/teetime/stage/WordCountingTest.java
@@ -12,7 +12,7 @@ public class WordCountingTest {
 
 	@Test
 	public void test1() {
-		WordCountingConfiguration wcc = new WordCountingConfiguration(2, new File("src/test/resources/data/output.txt"), new File(
+		WordCountingConfiguration wcc = new WordCountingConfiguration(1, new File("src/test/resources/data/output.txt"), new File(
 				"src/test/resources/data/output.txt"));
 		Analysis analysis = new Analysis(wcc);
 		analysis.start();