diff --git a/scipost_django/journals/forms.py b/scipost_django/journals/forms.py
index 2595bb96f0afb5b9b3ce246c82dfeec4c4a33d57..74ebb7acf6c05c009d3b154274796e59faea3aa8 100644
--- a/scipost_django/journals/forms.py
+++ b/scipost_django/journals/forms.py
@@ -243,8 +243,17 @@ class AuthorsTableOrganizationSelectForm(forms.ModelForm):
 
 
 class CreateMetadataXMLForm(forms.ModelForm):
-    schema = ET.XMLSchema(file=settings.STATIC_ROOT + settings.CROSSREF_SCHEMA_FILE)
-    parser = ET.XMLParser(schema=schema)
+    schema = None
+    parser = None
+
+    @classmethod
+    def initialize_lxml(cls):
+        if cls.schema is None:
+            cls.schema = ET.XMLSchema(
+                file=settings.STATIC_ROOT + settings.CROSSREF_SCHEMA_FILE
+            )
+        if cls.parser is None:
+            cls.parser = ET.XMLParser(schema=cls.schema)
 
     class Meta:
         model = Publication
@@ -255,6 +264,9 @@ class CreateMetadataXMLForm(forms.ModelForm):
         self.xml_str = self.format_xml(self.decode_html_entities(xml))
         kwargs["initial"] = {"metadata_xml": self.xml_str}
 
+        if self.schema is None or self.parser is None:
+            self.initialize_lxml()
+
         super().__init__(*args, **kwargs)
 
     @staticmethod