diff --git a/check_source/check_spelling.py b/check_source/check_spelling.py
index 7d553844edc85e7cfcc8ccf06a444bd95da63203..3fa57802aeaf036ce384b21afff2753056d656d0 100755
--- a/check_source/check_spelling.py
+++ b/check_source/check_spelling.py
@@ -406,8 +406,17 @@ def spell_check_file(
             if w_lower in dict_custom or w_lower in dict_ignore:
                 continue
 
-            if not dict_spelling.check(w):
-
+            is_good_spelling = dict_spelling.check(w)
+            if not is_good_spelling:
+                if "-" in w:
+                    is_good_spelling = True
+                    for w_sub in w.split("-"):
+                        if w_sub:
+                            if not dict_spelling.check(w_sub):
+                                is_good_spelling = False
+                                break
+
+            if not is_good_spelling:
                 # Ignore literals that show up in code,
                 # gets rid of a lot of noise from comments that reference variables.
                 if w in code_words: