diff --git a/common/python/nomadcore/annotator.py b/common/python/nomadcore/annotator.py
index c6d9f73c11d55c44675871a428013979de0eb3b4..aba65b4dc2b8e95400a7dfd51137f044be93a9fc 100644
--- a/common/python/nomadcore/annotator.py
+++ b/common/python/nomadcore/annotator.py
@@ -52,18 +52,22 @@ class Annotator(object):
             matchlabel += minfo['which_re']
         else:
             matchlabel = 'no'
-        # highlight line
-        if minfo['coverageIgnore']:
-            highlighted = self.matchHighlighter.highlight_minfo(
-                minfo, linecolor=ANSI.FG_BLUE)
-        elif minfo['match']:
-            if minfo['matcher_does_nothing']:
+
+        # check if there is pre-highlighted data in minfo
+        highlighted = minfo.get('highlighted', None)
+        if highlighted is None:
+            # highlight line
+            if minfo['coverageIgnore']:
                 highlighted = self.matchHighlighter.highlight_minfo(
-                    minfo, linecolor=ANSI.FG_MAGENTA)
+                    minfo, linecolor=ANSI.FG_BLUE)
+            elif minfo['match']:
+                if minfo['matcher_does_nothing']:
+                    highlighted = self.matchHighlighter.highlight_minfo(
+                        minfo, linecolor=ANSI.FG_MAGENTA)
+                else:
+                    highlighted = self.matchHighlighter.highlight_minfo(minfo)
             else:
-                highlighted = self.matchHighlighter.highlight_minfo(minfo)
-        else:
-            highlighted = minfo['fInLine']
+                highlighted = minfo['fInLine']
         # shorted matcher- and source file names
         name = minfo['matcherName'][-self._formatNameWidth:] if minfo['matcherName'] else 'UNNAMED'
         defFile = minfo['defFile'][-self._formatSourceWidth:]