diff --git a/js/reveal.js b/js/reveal.js
index 1990e8f45ff4eae1b00429209c75f01cc7f067a3..d9451cbbbb64b1e527aee418db591a97e02a82e3 100644
--- a/js/reveal.js
+++ b/js/reveal.js
@@ -1859,6 +1859,9 @@
 		// Re-create the slide backgrounds
 		createBackgrounds();
 
+		// Write the current hash to the URL
+		writeURL();
+
 		sortAllFragments();
 
 		updateControls();
@@ -2641,7 +2644,7 @@
 			if( typeof delay === 'number' ) {
 				writeURLTimeout = setTimeout( writeURL, delay );
 			}
-			else {
+			else if( currentSlide ) {
 				var url = '/';
 
 				// Attempt to create a named link based on the slide's ID
@@ -2652,7 +2655,7 @@
 				}
 
 				// If the current slide has an ID, use that as a named link
-				if( currentSlide && typeof id === 'string' && id.length ) {
+				if( typeof id === 'string' && id.length ) {
 					url = '/' + id;
 				}
 				// Otherwise use the /h/v index