diff --git a/js/reveal.js b/js/reveal.js
index 9a43903e67ea30f02e267ed137409b0a401e9d57..1a98ac9ec40726455523bc64ac6f9db369d07664 100644
--- a/js/reveal.js
+++ b/js/reveal.js
@@ -2411,16 +2411,7 @@
 
 		// Dispatch an event if the slide changed
 		var slideChanged = ( indexh !== indexhBefore || indexv !== indexvBefore );
-		if( slideChanged ) {
-			dispatchEvent( 'slidechanged', {
-				'indexh': indexh,
-				'indexv': indexv,
-				'previousSlide': previousSlide,
-				'currentSlide': currentSlide,
-				'origin': o
-			} );
-		}
-		else {
+		if (!slideChanged) {
 			// Ensure that the previous slide is never the same as the current
 			previousSlide = null;
 		}
@@ -2448,6 +2439,16 @@
 			}
 		}
 
+		if( slideChanged ) {
+			dispatchEvent( 'slidechanged', {
+				'indexh': indexh,
+				'indexv': indexv,
+				'previousSlide': previousSlide,
+				'currentSlide': currentSlide,
+				'origin': o
+			} );
+		}
+
 		// Handle embedded content
 		if( slideChanged || !previousSlide ) {
 			stopEmbeddedContent( previousSlide );