diff --git a/umbra/mistake_finder.py b/umbra/mistake_finder.py
index bad5a46cf84e24f5714460d72431e0c8c6f4778e..5a41504cde45d9c7ddf40d51bd9c8ca323618048 100644
--- a/umbra/mistake_finder.py
+++ b/umbra/mistake_finder.py
@@ -40,7 +40,8 @@ class MistakeFinder:
         # PRINT FOR TEST OF SO FAR IMPLEMENTED MISTAKE CHECKS:
         for word in self._shadow:
             if word.mistake == Mistake.REPETITION or word.mistake\
-                    == Mistake.SEMANTIC or word.mistake == Mistake.FORM:
+                    == Mistake.SEMANTIC or word.mistake == Mistake.FORM or\
+                    word.mistake == Mistake.PHONETIC:
                 print(str(word) + " " + str(word.mistake))
 
     def _determine_mistake(self, index, word):
@@ -84,7 +85,8 @@ class MistakeFinder:
             src_word = self._source[src_index]
             if DutchPhonetics.compare(src_word.word, shd_word.word):
                 shd_word.mistake = Mistake.PHONETIC
-                src_word.mistake = Mistake.PHONETIC
+                if not src_word.shadowed and src_word.mistake is None:
+                    src_word.mistake = Mistake.PHONETIC
                 phonetic_mistake = True
             src_index += 1
         return phonetic_mistake
@@ -114,7 +116,8 @@ class MistakeFinder:
             if semantic_mistake:
                 shd_word.mistake = Mistake.SEMANTIC
                 shd_word.source = src_word
-                src_word.mistake = Mistake.SEMANTIC
+                if not src_word.shadowed and src_word.mistake is None:
+                    src_word.mistake = Mistake.SEMANTIC
             src_index += 1
         return semantic_mistake
 
@@ -132,7 +135,8 @@ class MistakeFinder:
             if form_mistake:
                 shd_word.mistake = Mistake.FORM
                 shd_word.source = src_word
-                src_word.mistake = Mistake.FORM
+                if not src_word.shadowed and src_word.mistake is None:
+                    src_word.mistake = Mistake.FORM
             src_index += 1
         return form_mistake