diff --git a/alib2algo/src/rte/GlushkovTraversal.cpp b/alib2algo/src/rte/GlushkovTraversal.cpp
index 8108e5fbb6b5648f2cbdbaba10f66acf8a21557e..728204899200ad4c9c798af069e0e66fc3ebc582 100644
--- a/alib2algo/src/rte/GlushkovTraversal.cpp
+++ b/alib2algo/src/rte/GlushkovTraversal.cpp
@@ -111,15 +111,11 @@ std::set < rte::FormalRTESymbol const * > GlushkovTraversal::first ( rte::Formal
 	tmp = first ( & node->getLeftElement ( ) );
 	ret.insert ( tmp.begin ( ), tmp.end ( ) );
 
-	for ( const auto & r : ret )
-		std::cerr << "   In subst first: so far: " << r->getSymbol ( ) << std::endl;
-
 	auto it = std::find_if ( ret.begin ( ), ret.end ( ), [node] ( rte::FormalRTESymbol const * a ) {
 			return a->getSymbol ( ) == node->getSubstitutionSymbol ( );
 		} );
 
 	if ( it != ret.end ( ) ) {
-		std::cerr << "SubstFirst: subst symbol found in left" << std::endl;
 		ret.erase ( it );
 		tmp = first ( & node->getRightElement ( ) );
 		ret.insert ( tmp.begin ( ), tmp.end ( ) );
@@ -404,7 +400,7 @@ std::set < std::vector < rte::FormalRTESymbol const * > > replaceConstants ( con
 }
 
 std::set < std::vector < rte::FormalRTESymbol const * > > GlushkovTraversal::follow ( rte::FormalRTESymbol const * const & node, rte::FormalRTESymbol const * const & symbolptr, const std::set<alphabet::RankedSymbol>& alphabetK, std::map < alphabet::RankedSymbol, std::set < rte::FormalRTESymbol const * > > & subMap ) {
-	std::set < std::vector < rte::FormalRTESymbol const * > > ret;
+	std::set < std::vector < rte::FormalRTESymbol const * > > ret, tmp;
 	std::vector < rte::FormalRTESymbol const * > children = node->getElements ( );
 
 	if ( symbolptr == node ) {
@@ -414,10 +410,12 @@ std::set < std::vector < rte::FormalRTESymbol const * > > GlushkovTraversal::fol
 	}
 
 	for ( const auto & c : children )
-		if ( pos ( c, symbolptr ) )
-			return follow ( c, symbolptr, alphabetK, subMap );
+	{
+		tmp = follow ( c, symbolptr, alphabetK, subMap );
+		ret.insert(tmp.begin(), tmp.end());
+	}
 
-	return std::set < std::vector < rte::FormalRTESymbol const * > > ( );
+	return ret;
 }
 
 std::set < std::vector < rte::FormalRTESymbol const * > > GlushkovTraversal::follow ( rte::FormalRTEEmpty const * const & /* node */, rte::FormalRTESymbol const * const & /* symbolptr */, const std::set<alphabet::RankedSymbol>& /* alphabetK */, std::map < alphabet::RankedSymbol, std::set < rte::FormalRTESymbol const * > > & /* subMap */ ) {
diff --git a/alib2algo/src/rte/convert/ToPostfixPushdownAutomatonGlushkov.cpp b/alib2algo/src/rte/convert/ToPostfixPushdownAutomatonGlushkov.cpp
index 00c35fca1a1871a0a1618b112b16aa5d9314def1..61cf23ef3980e2d3bbd392a30ccf7e3877757171 100644
--- a/alib2algo/src/rte/convert/ToPostfixPushdownAutomatonGlushkov.cpp
+++ b/alib2algo/src/rte/convert/ToPostfixPushdownAutomatonGlushkov.cpp
@@ -67,20 +67,20 @@ automaton::NPDA ToPostfixPushdownAutomatonGlushkov::convert ( const rte::FormalR
 	 /* DEBUG */
 	std::cerr << "Pos:" << std::endl;
 
-	for ( const auto & symbol : posSet ) std::cerr << "\t" << symbol.getInputSymbol ( ) << " id=" << symbol.getId ( ) << std::endl;
+	for ( const auto & symbol : posSet ) std::cerr << "\t" << symbol.getInputSymbol ( ) << " id=" << symbol.getId ( ) << " ptr=" << symbol.getSymbolPtr() << std::endl;
 
 	std::cerr << "First:" << std::endl;
 
-	for ( const auto & symbol : firstSet ) std::cerr << "\t" << symbol.getInputSymbol ( ) << " id=" << symbol.getId ( ) << std::endl;
+	for ( const auto & symbol : firstSet ) std::cerr << "\t" << symbol.getInputSymbol ( ) << " id=" << symbol.getId ( ) << " ptr=" << symbol.getSymbolPtr() << std::endl;
 
 	std::cerr << "Follow:" << std::endl;
 
 	for ( const auto & kv : followSet ) {
-		std::cerr << "\t" << kv.first.getInputSymbol ( ) << " id=" << kv.first.getId ( ) << std::endl;
+		std::cerr << "\t" << kv.first.getInputSymbol ( ) << " id=" << kv.first.getId ( ) << " ptr=0x" << kv.first.getSymbolPtr() << std::endl;
 
 		for ( const auto & f : kv.second ) {
 			for ( const auto & symbol : f )
-				std::cerr << "\t\t" << symbol.getInputSymbol ( ) << "(id=" << symbol.getId ( ) << ") ";
+				std::cerr << "\t\t" << symbol.getInputSymbol ( ) << " id=" << symbol.getId ( ) << " ptr=" << symbol.getSymbolPtr() << std::endl;
 
 			std::cerr << std::endl;
 		}
diff --git a/examples2/automaton/NPDA6.xml b/examples2/automaton/NPDA6.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a042c569847c15288da45a060cf0196fc789fee7
--- /dev/null
+++ b/examples2/automaton/NPDA6.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0"?>
+<NPDA>
+	<states>
+		<PrimitiveLabel><String>q</String></PrimitiveLabel>
+		<PrimitiveLabel><String>f</String></PrimitiveLabel>
+	</states>
+	<inputAlphabet>
+		<LabeledSymbol><PrimitiveLabel><String>a2</String></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><String>b0</String></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><String>EOF</String></PrimitiveLabel></LabeledSymbol>
+	</inputAlphabet>
+	<pushdownStoreAlphabet>
+		<LabeledSymbol><PrimitiveLabel><String>a2_1</String></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><String>b0_2</String></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><String>b0_3</String></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><String>Z0</String></PrimitiveLabel></LabeledSymbol>
+	</pushdownStoreAlphabet>
+	<initialState>
+		<PrimitiveLabel><String>q</String></PrimitiveLabel>
+	</initialState>
+	<initialPushdownStoreSymbol>
+		<LabeledSymbol><PrimitiveLabel><String>Z0</String></PrimitiveLabel></LabeledSymbol>
+	</initialPushdownStoreSymbol>
+	<finalStates>
+		<PrimitiveLabel><String>f</String></PrimitiveLabel>
+	</finalStates>
+	<transitions>
+		<transition>
+			<from><PrimitiveLabel><String>q</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><String>a2</String></PrimitiveLabel></LabeledSymbol></input>
+			<pop>
+				<LabeledSymbol><PrimitiveLabel><String>b0_2</String></PrimitiveLabel></LabeledSymbol>
+				<LabeledSymbol><PrimitiveLabel><String>b0_3</String></PrimitiveLabel></LabeledSymbol>
+			</pop>
+			<to><PrimitiveLabel><String>q</String></PrimitiveLabel></to>
+			<push>
+				<LabeledSymbol><PrimitiveLabel><String>a2_1</String></PrimitiveLabel></LabeledSymbol>
+			</push>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>q</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><String>a2</String></PrimitiveLabel></LabeledSymbol></input>
+			<pop>
+				<LabeledSymbol><PrimitiveLabel><String>a2_1</String></PrimitiveLabel></LabeledSymbol>
+				<LabeledSymbol><PrimitiveLabel><String>b0_3</String></PrimitiveLabel></LabeledSymbol>
+			</pop>
+			<to><PrimitiveLabel><String>q</String></PrimitiveLabel></to>
+			<push>
+				<LabeledSymbol><PrimitiveLabel><String>a2_1</String></PrimitiveLabel></LabeledSymbol>
+			</push>
+		</transition>
+
+
+		<transition>
+			<from><PrimitiveLabel><String>q</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><String>b0</String></PrimitiveLabel></LabeledSymbol></input>
+			<pop>
+			</pop>
+			<to><PrimitiveLabel><String>q</String></PrimitiveLabel></to>
+			<push>
+				<LabeledSymbol><PrimitiveLabel><String>b0_2</String></PrimitiveLabel></LabeledSymbol>
+			</push>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>q</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><String>b0</String></PrimitiveLabel></LabeledSymbol></input>
+			<pop>
+			</pop>
+			<to><PrimitiveLabel><String>q</String></PrimitiveLabel></to>
+			<push>
+				<LabeledSymbol><PrimitiveLabel><String>b0_3</String></PrimitiveLabel></LabeledSymbol>
+			</push>
+		</transition>
+
+
+		<transition>
+			<from><PrimitiveLabel><String>q</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><String>EOF</String></PrimitiveLabel></LabeledSymbol></input>
+			<pop>
+				<LabeledSymbol><PrimitiveLabel><String>b0_3</String></PrimitiveLabel></LabeledSymbol>
+				<LabeledSymbol><PrimitiveLabel><String>Z0</String></PrimitiveLabel></LabeledSymbol>
+			</pop>
+			<to><PrimitiveLabel><String>f</String></PrimitiveLabel></to>
+			<push>
+			</push>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>q</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><String>EOF</String></PrimitiveLabel></LabeledSymbol></input>
+			<pop>
+				<LabeledSymbol><PrimitiveLabel><String>b0_2</String></PrimitiveLabel></LabeledSymbol>
+				<LabeledSymbol><PrimitiveLabel><String>Z0</String></PrimitiveLabel></LabeledSymbol>
+			</pop>
+			<to><PrimitiveLabel><String>f</String></PrimitiveLabel></to>
+			<push>
+			</push>
+		</transition>
+	</transitions>
+</NPDA>