diff --git a/README.md b/README.md
index 00fe8d823e8b7ed84675383c09bd775e0341a5d3..bd3965fdd507e037afc4438ceef8aa8c66c294c6 100644
--- a/README.md
+++ b/README.md
@@ -260,12 +260,13 @@ Reveal.initialize({
 	// Display the page number of the current slide
 	slideNumber: false,
 
-	// Push each slide change to the browser history.  Implies `hash: true`
-	history: false,
-
-	// Change the hash when changing slides -- impacts browser history with `history: true`
+	// Add the current slide number to the URL hash so that reloading the
+	// page/copying the URL will return you to the same slide
 	hash: false,
 
+	// Push each slide change to the browser history. Implies `hash: true`
+	history: false,
+
 	// Enable keyboard shortcuts for navigation
 	keyboard: true,
 
@@ -283,7 +284,7 @@ Reveal.initialize({
 
 	// Change the presentation direction to be RTL
 	rtl: false,
-	
+
 	// When this is enabled, stepping left/right from a vertical stack
 	// to an adjacent vertical stack will land you at the same vertical
 	// index instead of the top.
diff --git a/demo.html b/demo.html
index 69f964bb03ab90472bcfc08f1cadedf178abaa84..9471f8b8ba1b442c1930842892e841929e70d9ce 100644
--- a/demo.html
+++ b/demo.html
@@ -393,8 +393,8 @@ Reveal.addEventListener( 'customevent', function() {
 			Reveal.initialize({
 				controls: true,
 				progress: true,
-				history: true,
 				center: true,
+				hash: true,
 
 				transition: 'slide', // none/fade/slide/convex/concave/zoom
 
diff --git a/js/reveal.js b/js/reveal.js
index afbc35a221a373091df9b7ffa20aab5c06f78245..f3f4ae111a487d7f579e8af1d6fb1a98701f2f76 100644
--- a/js/reveal.js
+++ b/js/reveal.js
@@ -76,12 +76,13 @@
 			// Determine which displays to show the slide number on
 			showSlideNumber: 'all',
 
+			// Add the current slide number to the URL hash so that reloading the
+			// page/copying the URL will return you to the same slide
+			hash: false,
+
 			// Push each slide change to the browser history.  Implies `hash: true`
 			history: false,
 
-			// Change the hash when changing slides -- impacts browser history with `history: true`
-			hash: false,
-
 			// Enable keyboard shortcuts for navigation
 			keyboard: true,
 
@@ -4148,10 +4149,10 @@
 			writeURLTimeout = setTimeout( writeURL, delay );
 		}
 		else if( currentSlide ) {
-			if ( config.history ) {
+			if( config.history || !window.history ) {
 				window.location.hash = locationHash();
 			}
-			else if ( config.hash ) {
+			else if( config.hash ) {
 				window.history.replaceState(null, null, '#' + locationHash());
 			}
 		}