diff --git a/src/main/java/org/jastadd/tooling/RelAstGrammarAnnotator.java b/src/main/java/org/jastadd/tooling/RelAstGrammarAnnotator.java
index ce192474421aee6d2ec2e493125be76575a2572f..91f4e0c4dde3bfd351bda7a7afaa8f604907f95f 100644
--- a/src/main/java/org/jastadd/tooling/RelAstGrammarAnnotator.java
+++ b/src/main/java/org/jastadd/tooling/RelAstGrammarAnnotator.java
@@ -8,6 +8,7 @@ import com.intellij.lang.annotation.HighlightSeverity;
 import com.intellij.openapi.editor.DefaultLanguageHighlighterColors;
 import com.intellij.psi.PsiElement;
 import org.jastadd.tooling.psi.RelAstGrammarComponent;
+import org.jastadd.tooling.psi.RelAstGrammarTypeReference;
 import org.jetbrains.annotations.NotNull;
 
 public class RelAstGrammarAnnotator implements Annotator {
@@ -29,6 +30,15 @@ public class RelAstGrammarAnnotator implements Annotator {
             .create();
         }
       }
+    } else if (element instanceof RelAstGrammarTypeReference) {
+      RelAstGrammarTypeReference reference = (RelAstGrammarTypeReference) element;
+      if (RelAstGrammarUtil.findTypeDecl(element.getProject(), reference.getName()).isEmpty()) {
+        holder.newAnnotation(HighlightSeverity.ERROR, "Undefined reference")
+          .range(element.getTextRange())
+          .highlightType(ProblemHighlightType.ERROR)
+          .tooltip("Reference to unknown nonterminal type.")
+          .create();
+      }
     }
 
   }