diff --git a/alib2data/src/automaton/AutomatonFromXMLParser.cpp b/alib2data/src/automaton/AutomatonFromXMLParser.cpp
index d781b89b51fd91696b0711ddd49894d7243a2999..0e0a5564b09ab2ade6c3aecba6f92094596b6c9a 100644
--- a/alib2data/src/automaton/AutomatonFromXMLParser.cpp
+++ b/alib2data/src/automaton/AutomatonFromXMLParser.cpp
@@ -588,7 +588,7 @@ void AutomatonFromXMLParser::parseTransition(std::list<sax::Token>& input, DPDA&
 	State from = parseTransitionFrom(input);
 	std::variant<string::Epsilon, alphabet::Symbol> inputSymbol = parseTransitionInputEpsilonSymbol(input);
 	std::vector<alphabet::Symbol> pop = parseTransitionPop(input);
-	State to = parseTransitionFrom(input);
+	State to = parseTransitionTo(input);
 	std::vector<alphabet::Symbol> push = parseTransitionPush(input);
 
 	automaton.addTransition(from, inputSymbol, pop, to, push);
@@ -598,7 +598,7 @@ void AutomatonFromXMLParser::parseTransition(std::list<sax::Token>& input, Singl
 	State from = parseTransitionFrom(input);
 	std::variant<string::Epsilon, alphabet::Symbol> inputSymbol = parseTransitionInputEpsilonSymbol(input);
 	alphabet::Symbol pop = parseTransitionSinglePop(input);
-	State to = parseTransitionFrom(input);
+	State to = parseTransitionTo(input);
 	std::vector<alphabet::Symbol> push = parseTransitionPush(input);
 
 	automaton.addTransition(from, inputSymbol, pop, to, push);
@@ -646,7 +646,7 @@ void AutomatonFromXMLParser::parseTransition(std::list<sax::Token>& input, NPDA&
 	State from = parseTransitionFrom(input);
 	std::variant<string::Epsilon, alphabet::Symbol> inputSymbol = parseTransitionInputEpsilonSymbol(input);
 	std::vector<alphabet::Symbol> pop = parseTransitionPop(input);
-	State to = parseTransitionFrom(input);
+	State to = parseTransitionTo(input);
 	std::vector<alphabet::Symbol> push = parseTransitionPush(input);
 
 	automaton.addTransition(from, inputSymbol, pop, to, push);
@@ -656,7 +656,7 @@ void AutomatonFromXMLParser::parseTransition(std::list<sax::Token>& input, Singl
 	State from = parseTransitionFrom(input);
 	std::variant<string::Epsilon, alphabet::Symbol> inputSymbol = parseTransitionInputEpsilonSymbol(input);
 	alphabet::Symbol pop = parseTransitionSinglePop(input);
-	State to = parseTransitionFrom(input);
+	State to = parseTransitionTo(input);
 	std::vector<alphabet::Symbol> push = parseTransitionPush(input);
 
 	automaton.addTransition(from, inputSymbol, pop, to, push);
@@ -665,7 +665,7 @@ void AutomatonFromXMLParser::parseTransition(std::list<sax::Token>& input, Singl
 void AutomatonFromXMLParser::parseTransition(std::list<sax::Token>& input, OneTapeDTM& automaton) const {
 	State from = parseTransitionFrom(input);
 	alphabet::Symbol inputSymbol = parseTransitionInputSymbol(input);
-	State to = parseTransitionFrom(input);
+	State to = parseTransitionTo(input);
 	alphabet::Symbol outputSymbol = parseTransitionOutputSymbol(input);
 	Shift shift = parseTransitionShift(input);
 
@@ -681,7 +681,7 @@ void AutomatonFromXMLParser::parseTransition(std::list<sax::Token>& input, Unkno
 		} else if (isToken(input, sax::Token::TokenType::START_ELEMENT, "input")) {
 			transition.setInput(parseTransitionInputEpsilonSymbol(input));
 		} else if (isToken(input, sax::Token::TokenType::START_ELEMENT, "to")) {
-			transition.setTo(parseTransitionFrom(input));
+			transition.setTo(parseTransitionTo(input));
 		} else if (isToken(input, sax::Token::TokenType::START_ELEMENT, "pop")) {
 			transition.setPop(parseTransitionPop(input));
 		} else if (isToken(input, sax::Token::TokenType::START_ELEMENT, "push")) {
diff --git a/alib2data/src/automaton/AutomatonToXMLComposer.cpp b/alib2data/src/automaton/AutomatonToXMLComposer.cpp
index c30d83139ebc850503d7a361fc573a98329eb31b..1cd4bb121d71f34355da324de03f90e82b3d1379 100644
--- a/alib2data/src/automaton/AutomatonToXMLComposer.cpp
+++ b/alib2data/src/automaton/AutomatonToXMLComposer.cpp
@@ -612,8 +612,8 @@ std::list<sax::Token> AutomatonToXMLComposer::compose(const DPDA& automaton) con
 	composeInputAlphabet(out, automaton.getInputAlphabet());
 	composeStackAlphabet(out, automaton.getStackAlphabet());
 	composeInitialState(out, automaton.getInitialState());
-	composeFinalStates(out, automaton.getFinalStates());
 	composeInitialStackSymbol(out, automaton.getInitialSymbol());
+	composeFinalStates(out, automaton.getFinalStates());
 	composeTransitions(out, automaton);
 
 	out.push_back(sax::Token("DPDA", sax::Token::TokenType::END_ELEMENT));
@@ -628,8 +628,8 @@ std::list<sax::Token> AutomatonToXMLComposer::compose(const SinglePopDPDA& autom
 	composeInputAlphabet(out, automaton.getInputAlphabet());
 	composeStackAlphabet(out, automaton.getStackAlphabet());
 	composeInitialState(out, automaton.getInitialState());
-	composeFinalStates(out, automaton.getFinalStates());
 	composeInitialStackSymbol(out, automaton.getInitialSymbol());
+	composeFinalStates(out, automaton.getFinalStates());
 	composeTransitions(out, automaton);
 
 	out.push_back(sax::Token("SinglePopDPDA", sax::Token::TokenType::END_ELEMENT));
@@ -663,8 +663,8 @@ std::list<sax::Token> AutomatonToXMLComposer::compose(const VisiblyPushdownNPDA&
 	composeLocalInputAlphabet(out, automaton.getLocalInputAlphabet());
 	composeStackAlphabet(out, automaton.getStackAlphabet());
 	composeInitialStates(out, automaton.getInitialStates());
-	composeFinalStates(out, automaton.getFinalStates());
 	composeBottomOfTheStackSymbol(out, automaton.getBottomOfTheStackSymbol());
+	composeFinalStates(out, automaton.getFinalStates());
 	composeTransitions(out, automaton);
 
 	out.push_back(sax::Token("VisiblyPushdownNPDA", sax::Token::TokenType::END_ELEMENT));
@@ -679,8 +679,8 @@ std::list<sax::Token> AutomatonToXMLComposer::compose(const NPDA& automaton) con
 	composeInputAlphabet(out, automaton.getInputAlphabet());
 	composeStackAlphabet(out, automaton.getStackAlphabet());
 	composeInitialStates(out, automaton.getInitialStates());
-	composeFinalStates(out, automaton.getFinalStates());
 	composeInitialStackSymbols(out, automaton.getInitialSymbols());
+	composeFinalStates(out, automaton.getFinalStates());
 	composeTransitions(out, automaton);
 
 	out.push_back(sax::Token("NPDA", sax::Token::TokenType::END_ELEMENT));
@@ -695,8 +695,8 @@ std::list<sax::Token> AutomatonToXMLComposer::compose(const SinglePopNPDA& autom
 	composeInputAlphabet(out, automaton.getInputAlphabet());
 	composeStackAlphabet(out, automaton.getStackAlphabet());
 	composeInitialStates(out, automaton.getInitialStates());
-	composeFinalStates(out, automaton.getFinalStates());
 	composeInitialStackSymbols(out, automaton.getInitialSymbols());
+	composeFinalStates(out, automaton.getFinalStates());
 	composeTransitions(out, automaton);
 
 	out.push_back(sax::Token("SinglePopNPDA", sax::Token::TokenType::END_ELEMENT));