diff --git a/src/main/java/teetime/stage/basic/merger/Merger.java b/src/main/java/teetime/stage/basic/merger/Merger.java
index 289c1ca8fe9614fad1f9dd130bbf0a3be4366556..c693b6488b8f478597fd093c39210198f8720488 100644
--- a/src/main/java/teetime/stage/basic/merger/Merger.java
+++ b/src/main/java/teetime/stage/basic/merger/Merger.java
@@ -30,7 +30,7 @@ import teetime.framework.signal.ISignal;
  * This stage merges data from the input ports, by taking elements according to the chosen merge strategy and by putting them to the output port.
  * For its signal handling behavior see {@link #onSignal(ISignal, InputPort)}
  *
- * @author Christian Wulf
+ * @author Christian Wulf, Nelson Tavares de Sousa
  *
  * @since 1.0
  *
@@ -43,7 +43,7 @@ public final class Merger<T> extends AbstractStage {
 
 	private IMergerStrategy strategy;
 
-	private final Map<Class<?>, Set<InputPort<?>>> signalMap = new HashMap<Class<?>, Set<InputPort<?>>>();
+	private final Map<Class<ISignal>, Set<InputPort<?>>> signalMap = new HashMap<Class<ISignal>, Set<InputPort<?>>>();
 
 	public Merger() {
 		this(new RoundRobinStrategy());
@@ -92,7 +92,7 @@ public final class Merger<T> extends AbstractStage {
 		} else {
 			Set<InputPort<?>> tempSet = new HashSet<InputPort<?>>();
 			tempSet.add(inputPort);
-			signalMap.put(signal.getClass(), tempSet);
+			signalMap.put((Class<ISignal>) signal.getClass(), tempSet);
 		}
 
 	}
diff --git a/src/test/java/teetime/stage/WordCountingTest.java b/src/test/java/teetime/stage/WordCountingTest.java
index 9d18f55f55ff10840da64886b77989e5482ecdc3..3f174850cc4f500f6db3b5fc1703abb85873ca2b 100644
--- a/src/test/java/teetime/stage/WordCountingTest.java
+++ b/src/test/java/teetime/stage/WordCountingTest.java
@@ -38,7 +38,7 @@ public class WordCountingTest {
 
 	@Test
 	public void test1() throws IOException {
-		int threads = 6;
+		int threads = 2;
 		WordCountingConfiguration wcc = new WordCountingConfiguration(threads, testFile, testFile);
 		Analysis analysis = new Analysis(wcc);
 		analysis.start();