diff --git a/alib2algo/src/automaton/transform/ZAToPDA.h b/alib2algo/src/automaton/transform/ZAToPDA.h
index 501ebff14200ed2f946c98f3b55bbb1213364c5a..dcd33067db3c5c49817988536c6a4e5776bb5719 100644
--- a/alib2algo/src/automaton/transform/ZAToPDA.h
+++ b/alib2algo/src/automaton/transform/ZAToPDA.h
@@ -55,16 +55,17 @@ automaton::NPDA<SymbolType, StateType, char> ZAToPDA::convert(const automaton::A
     for (const auto& transition : zautomaton.getTransitions()) {
         if (transition.first.template is<ext::pair<StateType, StateType>>()) {
             const auto& trf = transition.first.template get<ext::pair<StateType, StateType>>();
-            res.addTransition('q', bar, {trf.first, trf.second}, 'q', {transition.second});
+            res.addTransition('q', bar, {trf.second, trf.first /* top is on the left */}, 'q', {transition.second});
         } else {
             res.addTransition('q', transition.first.template get<SymbolType>(), {}, 'q', {transition.second});
         }
     }
 
-    res.addTransition('r', {}, 'q', {});
+    /* res.addTransition('r', {}, 'q', {}); */
     for (const auto& finalState : zautomaton.getFinalStates()) {
-        res.addTransition('q', bar, {finalState, bots}, 'r', {});
+        res.addTransition('q', bar, {finalState}, 'r', {});
     }
+    res.addTransition('r', {bots}, 'r', {});
 
     return res;
 }