Index: graphspell-js/ibdawg.js
==================================================================
--- graphspell-js/ibdawg.js
+++ graphspell-js/ibdawg.js
@@ -345,11 +345,11 @@
         return aSugg;
     }
 
     _splitTrailingNumbers (oSuggResult, sWord) {
         let m = /^([a-zA-Zà-öÀ-Ö_ø-ÿØ-ßĀ-ʯfi-st][a-zA-Zà-öÀ-Ö_ø-ÿØ-ßĀ-ʯfi-st-]+)([0-9]+)$/.exec(sWord);
-        if (m) {
+        if (m  &&  !m[1].endsWith("-")  &&  !m[1].endsWith("_")) {
             oSuggResult.addSugg(m[1] + " " + char_player.numbersToExponent(m[2]));
         }
     }
 
     _splitSuggest (oSuggResult, sWord) {

Index: graphspell/ibdawg.py
==================================================================
--- graphspell/ibdawg.py
+++ graphspell/ibdawg.py
@@ -315,11 +315,11 @@
             return list(map(lambda sSug: sPfx + sSug + sSfx, aSugg))
         return aSugg
 
     def _splitTrailingNumbers (self, oSuggResult, sWord):
         m = re.match(r"(\D+)([0-9]+)$", sWord)
-        if m:
+        if m and m.group(1)[-1:].isalpha():
             oSuggResult.addSugg(m.group(1) + " " + cp.numbersToExponent(m.group(2)))
 
     def _splitSuggest (self, oSuggResult, sWord):
         # split at apostrophes
         for cSplitter in "'’":