diff --git a/swh/loader/package/nixguix/loader.py b/swh/loader/package/nixguix/loader.py
--- a/swh/loader/package/nixguix/loader.py
+++ b/swh/loader/package/nixguix/loader.py
@@ -65,11 +65,16 @@
     def resolve_revision_from(
         self, known_artifacts: Dict, artifact_metadata: Dict
     ) -> Optional[bytes]:
-
         for rev_id, known_artifact in known_artifacts.items():
-            known_integrity = known_artifact["extrinsic"]["raw"]["integrity"]
-            if artifact_metadata["integrity"] == known_integrity:
-                return rev_id
+            try:
+                known_integrity = known_artifact["extrinsic"]["raw"]["integrity"]
+                if artifact_metadata["integrity"] == known_integrity:
+                    return rev_id
+            except KeyError:
+                # metadata field for the revision is not as expected by the loader
+                # nixguix. We consider this not the right revision
+                # continue checking the other revisions
+                continue
         return None
 
     def extra_branches(self) -> Dict[bytes, Mapping[str, Any]]: