diff --git a/parser/parser-mopac/parser_mopac.py b/parser/parser-mopac/parser_mopac.py
index 134f48202667bc36beda8972779aafd7b651621a..039921f7fbd903015fc02c23a3f6c44b2f0b8f54 100644
--- a/parser/parser-mopac/parser_mopac.py
+++ b/parser/parser-mopac/parser_mopac.py
@@ -80,7 +80,7 @@ def parse(filename):
         with o(p, 'section_single_configuration_calculation'):
             p.addValue('single_configuration_calculation_to_system_ref',
                        system_gid)
-            p.addValue('single_configuration_to_calculation_method_ref',
+            p.addValue('single_configuration_calculation_to_method_ref',
                        method_gid)
             p.addRealValue('energy_total', c(r.energy_total, 'eV'))
             if 'x_mopac_fhof' in r:
@@ -89,13 +89,15 @@ def parse(filename):
                 p.addRealValue('electronic_kinetic_energy',
                                c(r.electronic_kinetic_energy, 'eV'))
             if 'atom_forces' in r:
+                fId = p.openSection('section_atom_forces')
                 p.addArrayValues('atom_forces',
                                  c(r.atom_forces, 'eV/angstrom'))
+                p.closeSection('section_atom_forces', fId)
             if 'energy_reference_highest_occupied' in r:
                 p.addArrayValues('energy_reference_highest_occupied',
                                c(r.energy_reference_highest_occupied, 'eV'))
-            if 'spin_S2' in r:
-                p.addRealValue('spin_S2', r.spin_S2)
+            if 'spin_s2' in r:
+                p.addRealValue('spin_s2', r.spin_s2)
 
             if 'time_calculation' in r:
                 p.addRealValue('time_calculation', r.time_calculation)
diff --git a/parser/parser-mopac/reader.py b/parser/parser-mopac/reader.py
index 50f61d5c645831ef4f913d698c0ce297508771d9..c1cac53572db5fe8ff894a85e82dd31ac242c2a7 100644
--- a/parser/parser-mopac/reader.py
+++ b/parser/parser-mopac/reader.py
@@ -62,8 +62,8 @@ class Reader:
             re.compile(r"NO.\s*OF\s*ALPHA\s*ELECTRONS\s*=\s*(?P<n_alpha>[0-9]+)"),
             'n_beta':
             re.compile(r"NO.\s*OF\s*BETA\s*ELECTRONS\s*=\s*(?P<n_beta>[0-9]+)"),
-            'spin_S2':
-            re.compile(r"\(S\*\*2\)\s*=\s*(?P<spin_S2>[0-9.]+)"),
+            'spin_s2':
+            re.compile(r"\(S\*\*2\)\s*=\s*(?P<spin_s2>[0-9.]+)"),
             'time_calculation':
             re.compile(r"TOTAL\s*JOB\s*TIME:\s*(?P<time_calculation>[0-9.]+)\s*"),
             'total_charge':
@@ -200,10 +200,10 @@ class Reader:
                                                     float)).reshape(1, 1, -1)
                         self.data['eigenvalues_values'] = eigs
 
-            if self.data.get('spin_S2') is None:
-                m = re.search(self.restrs['spin_S2'], line)
+            if self.data.get('spin_s2') is None:
+                m = re.search(self.restrs['spin_s2'], line)
                 if m:
-                    self.data['spin_S2'] = float(m.group('spin_S2'))
+                    self.data['spin_s2'] = float(m.group('spin_s2'))
 
             if self.data.get('time_calculation') is None:
                 m = re.search(self.restrs['time_calculation'], line)
diff --git a/src/main/scala/eu/nomad_lab/parsers/MopacParser.scala b/src/main/scala/eu/nomad_lab/parsers/MopacParser.scala
index d9deba4d0a64bfbf2e988e57c57845c6f2871628..62f73eec3033f3b2801c1ecb314e0fb251911bc9 100644
--- a/src/main/scala/eu/nomad_lab/parsers/MopacParser.scala
+++ b/src/main/scala/eu/nomad_lab/parsers/MopacParser.scala
@@ -49,7 +49,7 @@ object MopacParser extends SimpleExternalParserGenerator(
     "parser-mopac/setup_paths.py",
     "nomad_meta_info/public.nomadmetainfo.json",
     "nomad_meta_info/common.nomadmetainfo.json",
-    "nomad_meta_info/meta_types.nomadmetainfo.json",
+    "nomad_meta_info/meta.nomadmetainfo.json",
     "nomad_meta_info/mopac.nomadmetainfo.json"
   ) ++ DefaultPythonInterpreter.commonFiles(),
   dirMap = Map(