diff --git a/src/mol-model-formats/structure/mmcif/parser.ts b/src/mol-model-formats/structure/mmcif/parser.ts
index b7e9d1ef07f3af0c82a1d63dcb7e870c88d60fa1..4c4067686817246967561fe134080f0d91809a5b 100644
--- a/src/mol-model-formats/structure/mmcif/parser.ts
+++ b/src/mol-model-formats/structure/mmcif/parser.ts
@@ -347,7 +347,8 @@ async function readIHM(ctx: RuntimeContext, format: mmCIF_Format, formatData: Fo
         let atom_site, atom_site_sourceIndex;
         if (atom_sites.has(id)) {
             const e = atom_sites.get(id)!;
-            const { atom_site: sorted, sourceIndex } = await sortAtomSite(ctx, e.table, e.start, e.end);
+            // need to sort `format.data.atom_site` as `e.start` and `e.end` are indices into that
+            const { atom_site: sorted, sourceIndex } = await sortAtomSite(ctx, format.data.atom_site, e.start, e.end);
             atom_site = sorted;
             atom_site_sourceIndex = sourceIndex;
         } else {