diff --git a/mutalyzer/grammar.py b/mutalyzer/grammar.py
index a8a987d110ed7c4dc95b7cf78cccb71393aa6f7d..0e65ec574822f0182ee4d1eb0abe6accb548161d 100644
--- a/mutalyzer/grammar.py
+++ b/mutalyzer/grammar.py
@@ -78,8 +78,11 @@ class Grammar():
     # BNF: ProtIso -> `_i' Number
     ProtIso = Suppress('_i') + Number('ProtIso')
 
+    # BNF: GeneName -> ([a-Z] | [0-9] | `-')+
+    GeneName = Word(alphanums + '-', min=1)
+
     # BNF: GeneSymbol -> `(' Name (TransVar | ProtIso)? `)'
-    GeneSymbol = Suppress('(') + Group(Name('GeneSymbol') + \
+    GeneSymbol = Suppress('(') + Group(GeneName('GeneSymbol') + \
                  Optional(TransVar ^ ProtIso))('Gene') + Suppress(')')
 
     # BNF: GI -> (`GI' | `GI:')? Number