diff --git a/CHANGELOG.md b/CHANGELOG.md
index 42a2f159d670f750df3737abfd58d71b91bb8ebf..088dfff62bded1f7ea3c30e44305ba16e263ba4e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,7 @@ Note that since we don't clearly distinguish between a public and private interf
 - Improve bonds assignment of coarse grained models: check for IndexPairBonds and exhaustive StructConn
 - Fix unit mapping in bondedAtomicPairs MolScript query
 - Improve pdb parsing: handle non unique atom and chain names (fixes #156)
+- Fix volume streaming for entries with multiple contour lists
 
 ## [v3.5.0] - 2022-03-25
 
diff --git a/src/mol-plugin/behavior/dynamic/volume-streaming/util.ts b/src/mol-plugin/behavior/dynamic/volume-streaming/util.ts
index 0dd97630af3ebb05e318bcd76a7f1de94080bf5c..4d192881a7707244797a3fcbe540b24426b608d0 100644
--- a/src/mol-plugin/behavior/dynamic/volume-streaming/util.ts
+++ b/src/mol-plugin/behavior/dynamic/volume-streaming/util.ts
@@ -69,7 +69,8 @@ export async function getContourLevel(provider: 'emdb' | 'pdbe', plugin: PluginC
 export async function getContourLevelEmdb(plugin: PluginContext, taskCtx: RuntimeContext, emdbId: string) {
     const emdbHeaderServer = plugin.config.get(PluginConfig.VolumeStreaming.EmdbHeaderServer);
     const header = await plugin.fetch({ url: `${emdbHeaderServer}/${emdbId.toUpperCase()}/header/${emdbId.toLowerCase()}.xml`, type: 'xml' }).runInContext(taskCtx);
-    const contours = header.getElementsByTagName('contour');
+    const map = header.getElementsByTagName('map')[0];
+    const contours = map.getElementsByTagName('contour');
 
     let primaryContour = contours[0];
     for (let i = 1; i < contours.length; i++) {