diff --git a/aconversions/src/fa2rg/fa2rrg/FAtoRRGConverter.cpp b/aconversions/src/fa2rg/fa2rrg/FAtoRRGConverter.cpp
index 30fc37d17d8b577cf803a22a18ef0217146303cf..3190b40932bdab36e12979ab8d41b4d6ad81372e 100644
--- a/aconversions/src/fa2rg/fa2rrg/FAtoRRGConverter.cpp
+++ b/aconversions/src/fa2rg/fa2rrg/FAtoRRGConverter.cpp
@@ -40,7 +40,13 @@ RightRegularGrammar FAtoRRGConverter::convert( void )
             list<Symbol> leftSide, rightSide;
             leftSide.push_back( symbolMap.getNonTerminal( transition.getFrom( ) ) );
             rightSide.push_back( transition.getInput( ) );
-            m_grammar.addRule( Rule( leftSide, rightSide ) );
+
+            /*
+             *  Rule might already in - consider case:
+             *  \delta(A,a) = F and \delta(B,a) = G, where both F and G are final states
+             */
+            if( ! isInSet( Rule( leftSide, rightSide), m_grammar.getRules( ) ) )
+                m_grammar.addRule( Rule( leftSide, rightSide ) );
         }
     }