diff --git a/js/reveal.js b/js/reveal.js
index b1dd5faffd7808b249909fded49c8dc376bc0c49..e9445727b57b5fa163ea42df3f9a7b9543c2dcdf 100644
--- a/js/reveal.js
+++ b/js/reveal.js
@@ -2453,16 +2453,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;
 		}
@@ -2490,6 +2481,16 @@
 			}
 		}
 
+		if( slideChanged ) {
+			dispatchEvent( 'slidechanged', {
+				'indexh': indexh,
+				'indexv': indexv,
+				'previousSlide': previousSlide,
+				'currentSlide': currentSlide,
+				'origin': o
+			} );
+		}
+
 		// Handle embedded content
 		if( slideChanged || !previousSlide ) {
 			stopEmbeddedContent( previousSlide );