diff --git a/nomad/metainfo/metainfo.py b/nomad/metainfo/metainfo.py
index 1532e571e369188ec09b1742dd25dd3f61d8a67d..ccca5b7caafdd5d58ebd9d503fb422ebfa0555d2 100644
--- a/nomad/metainfo/metainfo.py
+++ b/nomad/metainfo/metainfo.py
@@ -1132,6 +1132,7 @@ class MSection(metaclass=MObjectMeta):
 
     def m_parse_annotations(self):
         for annotation_name, annotation in self.m_annotations.items():
+            AnnotationModel.model_rebuild()
             annotation_model = AnnotationModel.m_registry.get(annotation_name)
             if not annotation_model:
                 continue