diff --git a/inst/reveal.js-4.6.1/test/test-multiple-instances-es5.html b/inst/reveal.js-4.6.1/test/test-multiple-instances-es5.html
new file mode 100644
index 0000000..c8bb189
--- /dev/null
+++ b/inst/reveal.js-4.6.1/test/test-multiple-instances-es5.html
@@ -0,0 +1,86 @@
+<!doctype html>
+<html lang="en">
+
+	<head>
+		<meta charset="utf-8">
+
+		<title>reveal.js - Test Iframes</title>
+
+		<link rel="stylesheet" href="../dist/reveal.css">
+		<link rel="stylesheet" href="../node_modules/qunit/qunit/qunit.css">
+		<script src="../node_modules/qunit/qunit/qunit.js"></script>
+	</head>
+
+	<body style="overflow: auto;">
+
+		<div id="qunit"></div>
+		<div id="qunit-fixture"></div>
+
+		<div class="deck1">
+			<div class="reveal" style="display: none;">
+				<div class="slides">
+					<section>1.1</section>
+					<section>1.2</section>
+					<section>1.3</section>
+				</div>
+			</div>
+		</div>
+
+		<div class="deck2">
+			<div class="reveal" style="display: none;">
+				<div class="slides">
+					<section>2.1</section>
+					<section>2.2</section>
+					<section>2.3</section>
+				</div>
+			</div>
+		</div>
+
+		<script src="../dist/reveal.js"></script>
+		<script src="../plugin/zoom/zoom.js"></script>
+		<script>
+
+			QUnit.config.testTimeout = 30000;
+			QUnit.module( 'Multiple reveal.js instances' );
+
+			let r1 = new Reveal( document.querySelector( '.deck1 .reveal' ), {
+				embedded: true,
+				keyboard: true,
+				plugins: [RevealZoom()]
+			} );
+			r1.initialize();
+
+			let r2 = new Reveal( document.querySelector( '.deck2 .reveal' ), {
+				embedded: true,
+				keyboard: false
+			} );
+			r2.initialize();
+
+			QUnit.test( 'Can make independent changes', function( assert ) {
+
+				r1.slide(1);
+				r2.slide(2);
+				assert.strictEqual( r1.getCurrentSlide().textContent, '1.2' );
+				assert.strictEqual( r2.getCurrentSlide().textContent, '2.3' );
+
+				r2.toggleOverview( true );
+				assert.strictEqual( r1.isOverview(), false );
+				assert.strictEqual( r2.isOverview(), true );
+				r2.toggleOverview( false );
+
+				assert.strictEqual( r1.getConfig().keyboard, true );
+				assert.strictEqual( r2.getConfig().keyboard, false );
+
+			});
+
+			QUnit.test( 'Can register plugins independently', function( assert ) {
+
+				assert.ok( r1.hasPlugin( 'zoom' ) );
+				assert.notOk( r2.hasPlugin( 'zoom' ) );
+
+			});
+
+		</script>
+
+	</body>
+</html>
