diff --git a/README.md b/README.md
index a496f5d4f4e73f016318c5ac2ac04c6df8973593..73d4befb788d33f2be4654d8b9adb412e194daa4 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@ A framework for easily creating beautiful presentations using HTML. [Check out t
 reveal.js comes with a broad range of features including [nested slides](https://github.com/hakimel/reveal.js#markup), [markdown contents](https://github.com/hakimel/reveal.js#markdown), [PDF export](https://github.com/hakimel/reveal.js#pdf-export), [speaker notes](https://github.com/hakimel/reveal.js#speaker-notes) and a [JavaScript API](https://github.com/hakimel/reveal.js#api). It's best viewed in a browser with support for CSS 3D transforms but [fallbacks](https://github.com/hakimel/reveal.js/wiki/Browser-Support) are available to make sure your presentation can still be viewed elsewhere.
 
 
-#### More reading::
+#### More reading:
 - [Installation](#installation): Step-by-step instructions for getting reveal.js running on your computer.
 - [Changelog](https://github.com/hakimel/reveal.js/wiki/Changelog): Up-to-date version history.
 - [Examples](https://github.com/hakimel/reveal.js/wiki/Example-Presentations): Presentations created with reveal.js, add your own!
@@ -304,7 +304,7 @@ Note that this does not work with the page and cube transitions.
 
 
 ### Fragments
-Fragments are used to highlight individual elements on a slide. Every elmement with the class ```fragment``` will be stepped through before moving on to the next slide. Here's an example: http://lab.hakim.se/reveal-js/#/16
+Fragments are used to highlight individual elements on a slide. Every element with the class ```fragment``` will be stepped through before moving on to the next slide. Here's an example: http://lab.hakim.se/reveal-js/#/16
 
 The default fragment style is to start out invisible and fade in. This style can be changed by appending a different class to the fragment:
 
@@ -605,11 +605,11 @@ The **basic setup** is for authoring presentations only. The **full setup** give
 
 ### Basic setup
 
-The core of reveal.js is very easy to install. You'll simply need to download a copy of this repository and open the index.html file directly in your browser.g
+The core of reveal.js is very easy to install. You'll simply need to download a copy of this repository and open the index.html file directly in your browser.
 
 1. Download a copy of reveal.js from <https://github.com/hakimel/reveal.js/archive/master.zip>
 
-2. Unizp and replace the example contents in index.html with your own
+2. Unzip and replace the example contents in index.html with your own
 
 3. Open index.html in a browser to view it
 
diff --git a/js/reveal.js b/js/reveal.js
index 73eddebe294e7c143c87f28118859f0e8675996c..d236b84aae4ca1d8afb94becb05fa1040a071ce4 100644
--- a/js/reveal.js
+++ b/js/reveal.js
@@ -1231,7 +1231,8 @@ var Reveal = (function(){
 		}
 
 		// Dispatch an event if the slide changed
-		if( indexh !== indexhBefore || indexv !== indexvBefore ) {
+		var slideChanged = (indexh !== indexhBefore || indexv !== indexvBefore);
+		if( slideChanged ) {
 			dispatchEvent( 'slidechanged', {
 				'indexh': indexh,
 				'indexv': indexv,
@@ -1268,8 +1269,10 @@ var Reveal = (function(){
 		}
 
 		// Handle embedded content
-		stopEmbeddedContent( previousSlide );
-		startEmbeddedContent( currentSlide );
+		if (slideChanged) {
+			stopEmbeddedContent( previousSlide );
+			startEmbeddedContent( currentSlide );
+		}
 
 		updateControls();
 		updateProgress();