diff --git a/nomad/normalizing/__init__.py b/nomad/normalizing/__init__.py
index 43af92b1e1408d62e00a2b8d940be209f310c333..c9f104e034de0c979f4155a54dbc4114b70307af 100644
--- a/nomad/normalizing/__init__.py
+++ b/nomad/normalizing/__init__.py
@@ -54,6 +54,6 @@ normalizers: Iterable[Type[Normalizer]] = [
     # FhiAimsBaseNormalizer,
     DosNormalizer,
     BandStructureNormalizer,
-    EncyclopediaNormalizer,
     WorkflowNormalizer,
+    EncyclopediaNormalizer,
 ]
diff --git a/nomad/normalizing/encyclopedia/encyclopedia.py b/nomad/normalizing/encyclopedia/encyclopedia.py
index 440dcd28b01ba357c2fdfc328687b3bb410f503f..ddd2a89686c6349e590d21d866c57697b664a573 100644
--- a/nomad/normalizing/encyclopedia/encyclopedia.py
+++ b/nomad/normalizing/encyclopedia/encyclopedia.py
@@ -50,7 +50,7 @@ class EncyclopediaNormalizer(Normalizer):
         # Primarily try to determine the calculation type from workflow
         # information
         try:
-            workflow = self.section_run.section_workflow
+            workflow = self.entry_archive.section_workflow
             workflow_map = {
                 "molecular_dynamics": calc_enums.molecular_dynamics,
                 "geometry_optimization": calc_enums.geometry_optimization,
@@ -58,8 +58,8 @@ class EncyclopediaNormalizer(Normalizer):
             }
             workflow_enum = workflow_map.get(workflow.workflow_type)
             if workflow_enum is not None:
-                calc.calculation_type = calc_type
-                return calc_type
+                calc.calculation_type = workflow_enum
+                return workflow_enum
         except Exception:
             pass
 
diff --git a/nomad/normalizing/normalizer.py b/nomad/normalizing/normalizer.py
index b7d9469a696ccd28f17d7fff5d8d51eca0d74bf3..b4692f4cefa594d241215e7d3064cb66337ca8da 100644
--- a/nomad/normalizing/normalizer.py
+++ b/nomad/normalizing/normalizer.py
@@ -95,7 +95,7 @@ class SystemBasedNormalizer(Normalizer, metaclass=ABCMeta):
 
         # Try to find workflow information and select the representative system
         # based on it
-        workflow = self.section_run.section_workflow
+        workflow = self.entry_archive.section_workflow
         if workflow:
             try:
                 iscc = workflow.calculation_result_ref