diff --git a/README.md b/README.md
index d2f36e76cfd174c30aac2bda2cbee1d165031f13..c55a30cc2d5996da52aea5b75e1b1392c702e87f 100644
--- a/README.md
+++ b/README.md
@@ -182,6 +182,7 @@ You can change the appearance of the speaker notes by editing the file at `plugi
 - New API method ```Reveal.getPreviousSlide()```
 - New API method ```Reveal.getCurrentSlide()```
 - New API method ```Reveal.getIndices()```
+- Fixes bug where the ```.present``` class was sometimes left on the previous slide
 
 #### 1.4
 - Main ```#reveal container``` is now selected via a class instead of ID
diff --git a/js/reveal.js b/js/reveal.js
index 338790403d1efe6d87e8493ba1a188d53df0d9f4..8ae46b60b30b9972259551640b8efc85aab47273 100644
--- a/js/reveal.js
+++ b/js/reveal.js
@@ -1,5 +1,5 @@
 /*!
- * reveal.js 1.5 r2
+ * reveal.js 1.5 r3
  * http://lab.hakim.se/reveal-js
  * MIT licensed
  * 
@@ -731,6 +731,13 @@ var Reveal = (function(){
 			// Ensure that the previous slide is never the same as the current
 			previousSlide = null;
 		}
+
+		// Solves an edge case where the previous slide maintains the 
+		// 'present' class when navigating between adjacent vertical 
+		// stacks
+		if( previousSlide ) {
+			previousSlide.classList.remove( 'present' );
+		}
 	}
 
 	/**