diff --git a/alib2algo/src/stringology/exact/ExactMatchingAutomaton.cpp b/alib2algo/src/stringology/exact/ExactMatchingAutomaton.cpp
index 4f717ce6068c3ee4a464eb9173688cc6e5c106a4..ac373dc96d970945bd5ffc2e8c477efed23bb4fb 100644
--- a/alib2algo/src/stringology/exact/ExactMatchingAutomaton.cpp
+++ b/alib2algo/src/stringology/exact/ExactMatchingAutomaton.cpp
@@ -34,8 +34,9 @@ automaton::NFA ExactMatchingAutomaton::construct(const string::LinearString& pat
 	for(const alphabet::Symbol& symbol : pattern.getContent()) {
 		res.addState(automaton::State(i));
 		res.addTransition(automaton::State(i-1), symbol, automaton::State(i));
+		i++;
 	}
-	res.addFinalState(automaton::State(i));
+	res.addFinalState(automaton::State(i-1));
 	return res;
 }