diff --git a/alib2algo/src/automaton/transform/AutomataIntersectionCartesianProduct.cpp b/alib2algo/src/automaton/transform/AutomataIntersectionCartesianProduct.cpp
index 012ea0be36b88882921395d04670b6c5af300239..23641c1250fd743e64f80d23e8c4bd6910c36715 100644
--- a/alib2algo/src/automaton/transform/AutomataIntersectionCartesianProduct.cpp
+++ b/alib2algo/src/automaton/transform/AutomataIntersectionCartesianProduct.cpp
@@ -13,7 +13,9 @@ namespace automaton {
 namespace transform {
 
 automaton::Automaton AutomataIntersectionCartesianProduct::intersection(const automaton::Automaton& first, const automaton::Automaton& second) {
-	return dispatch(first.getData(), second.getData());
+	automaton::Automaton res = dispatch(first.getData(), second.getData());
+	res.normalize ( );
+	return res;
 }
 
 auto AutomataIntersectionCartesianProductDFA = AutomataIntersectionCartesianProduct::RegistratorWrapper<automaton::DFA < DefaultSymbolType, std::pair < DefaultStateType, DefaultStateType > >, automaton::DFA < > >(AutomataIntersectionCartesianProduct::intersection);
diff --git a/alib2algo/src/automaton/transform/AutomataUnionCartesianProduct.cpp b/alib2algo/src/automaton/transform/AutomataUnionCartesianProduct.cpp
index 1982aaa90de99cd6fb35a7a238d1070333259138..b1a7e1748611aa514b6db2930b2349b0a044af93 100644
--- a/alib2algo/src/automaton/transform/AutomataUnionCartesianProduct.cpp
+++ b/alib2algo/src/automaton/transform/AutomataUnionCartesianProduct.cpp
@@ -14,7 +14,9 @@ namespace automaton {
 namespace transform {
 
 automaton::Automaton AutomataUnionCartesianProduct::unification(const automaton::Automaton& first, const automaton::Automaton& second) {
-	return dispatch(first.getData(), second.getData());
+	automaton::Automaton res = dispatch(first.getData(), second.getData());
+	res.normalize ( );
+	return res;
 }
 
 auto AutomataUnionCartesianProductDFA = AutomataUnionCartesianProduct::RegistratorWrapper<automaton::DFA < DefaultSymbolType, std::pair < DefaultStateType, DefaultStateType > >, automaton::DFA < > >(AutomataUnionCartesianProduct::unification);