diff --git a/alib2algo/src/grammar/simplify/ToCNF.cpp b/alib2algo/src/grammar/simplify/ToCNF.cpp
index 6120caac84827b392785ca957794d1c0a26aa01a..b5d5ff21eeeebf02e1f560c0e39383fb386f9f88 100644
--- a/alib2algo/src/grammar/simplify/ToCNF.cpp
+++ b/alib2algo/src/grammar/simplify/ToCNF.cpp
@@ -71,8 +71,7 @@ grammar::CNF < > convertInternal( const T & origGrammar ) {
 			else if(origRhs.size() > 2) {
 				auto second = splitToPairs(grammarTmp, origRhs, 0, origRhs.size(), createdSymbols);
 				grammarTmp.addRawRule(origRule.first, {std::move(second.first), std::move(second.second)});
-			} else
-				throw exception::CommonException("Invalid rule in grammar");
+			}
 		}
 	}
 
diff --git a/alib2data/src/grammar/ContextFree/EpsilonFreeCFG.h b/alib2data/src/grammar/ContextFree/EpsilonFreeCFG.h
index db77caedfd5fa2da89c19dc752fb1691a58613ef..a5744fe7b1e529e7e006c0d34b8d5a8b71e8129d 100644
--- a/alib2data/src/grammar/ContextFree/EpsilonFreeCFG.h
+++ b/alib2data/src/grammar/ContextFree/EpsilonFreeCFG.h
@@ -409,7 +409,7 @@ ext::map < SymbolType, ext::set < ext::vector < SymbolType > > > EpsilonFreeCFG
 	if ( getGeneratesEpsilon ( ) )
 		res [ getInitialSymbol ( ) ].insert ( ext::vector < SymbolType > { } );
 
-	return rules;
+	return res;
 }
 
 template < class SymbolType >