diff --git a/__tests__/integration/mirador/index.html b/__tests__/integration/mirador/index.html
index e947ffa013b2d36cd77a8cf63df4cab223addb61..46a2a53a1f9d4091e7770b40dd8981f01aa86fc6 100644
--- a/__tests__/integration/mirador/index.html
+++ b/__tests__/integration/mirador/index.html
@@ -14,6 +14,7 @@
        id: 'mirador',
        windows: [{
          loadedManifest: 'https://iiif.harvardartmuseums.org/manifests/object/299843',
+         canvasIndex: 2,
        },
        {
          loadedManifest: 'https://media.nga.gov/public/manifests/nga_highlights.json',
diff --git a/__tests__/integration/mirador/thumbnail-navigation.test.js b/__tests__/integration/mirador/thumbnail-navigation.test.js
index de83c2d2d0a09bb727e7b9a8d3b51be6f029cf3a..1baaa01d0b4d9b2e0e6a8329a2f52052c7e19c8e 100644
--- a/__tests__/integration/mirador/thumbnail-navigation.test.js
+++ b/__tests__/integration/mirador/thumbnail-navigation.test.js
@@ -10,8 +10,10 @@ describe('Thumbnail navigation', () => {
     let windows = await page.evaluate(() => (
       miradorInstance.store.getState().windows
     ));
-    expect(Object.values(windows)[0].canvasIndex).toBe(0);
+    expect(Object.values(windows)[0].canvasIndex).toBe(2); // test harness in index.html starts at 2
+    await page.waitFor(1000);
     await expect(page).toClick('.mirador-thumbnail-nav-canvas-1');
+    await expect(page).toMatchElement('.mirador-thumbnail-nav-canvas-1.mirador-current-canvas', { timeout: 1500 });
     windows = await page.evaluate(() => (
       miradorInstance.store.getState().windows
     ));
diff --git a/__tests__/src/lib/MiradorViewer.test.js b/__tests__/src/lib/MiradorViewer.test.js
index d33c6af428fcd9ca41619e6b37a08a138aece88f..496701c8bb61ac72e0bc891d34f538545098e09b 100644
--- a/__tests__/src/lib/MiradorViewer.test.js
+++ b/__tests__/src/lib/MiradorViewer.test.js
@@ -46,6 +46,7 @@ describe('MiradorViewer', () => {
         id: 'mirador',
         windows: [{
           loadedManifest: 'https://iiif.harvardartmuseums.org/manifests/object/299843',
+          canvasIndex: 2,
         },
         {
           loadedManifest: 'https://iiif.harvardartmuseums.org/manifests/object/299843',
@@ -57,6 +58,8 @@ describe('MiradorViewer', () => {
       const { windows } = instance.store.getState();
       const windowIds = Object.keys(windows);
       expect(Object.keys(windowIds).length).toBe(2);
+      expect(windows[windowIds[0]].canvasIndex).toBe(2);
+      expect(windows[windowIds[1]].canvasIndex).toBe(0);
       expect(windows[windowIds[0]].thumbnailNavigationPosition).toBe('bottom');
       expect(windows[windowIds[1]].thumbnailNavigationPosition).toBe('off');
     });
diff --git a/src/lib/MiradorViewer.js b/src/lib/MiradorViewer.js
index 325b7b5cb9f97acb96b0b61595dbf24cc9320c1d..b68f8b64e1cef928229b3f261a0aea504f7d77bd 100644
--- a/src/lib/MiradorViewer.js
+++ b/src/lib/MiradorViewer.js
@@ -51,6 +51,7 @@ class MiradorViewer {
       }
       store.dispatch(actions.fetchManifest(miradorWindow.loadedManifest));
       store.dispatch(actions.addWindow({
+        canvasIndex: (miradorWindow.canvasIndex || 0),
         manifestId: miradorWindow.loadedManifest,
         thumbnailNavigationPosition,
       }));