diff --git a/js/reveal.js b/js/reveal.js
index a6bd81a9e762d0adb37f3137ba9c660bb5d96b89..ef3471c6cda7857d7ba3ce265ac364cff850e7ed 100644
--- a/js/reveal.js
+++ b/js/reveal.js
@@ -1469,16 +1469,23 @@
 			dom.slides.style.width = size.width + 'px';
 			dom.slides.style.height = size.height + 'px';
 
-			// No point in calculating scale if the only possible
-			// result is 1
-			if( scale !== -1 || config.minScale !== 1 || config.maxScale !== 1 ) {
-				// Determine scale of content to fit within available space
-				scale = Math.min( size.presentationWidth / size.width, size.presentationHeight / size.height );
-
-				// Respect max/min scale settings
-				scale = Math.max( scale, config.minScale );
-				scale = Math.min( scale, config.maxScale );
-
+			// Determine scale of content to fit within available space
+			scale = Math.min( size.presentationWidth / size.width, size.presentationHeight / size.height );
+
+			// Respect max/min scale settings
+			scale = Math.max( scale, config.minScale );
+			scale = Math.min( scale, config.maxScale );
+
+			// Don't apply any scaling styles if scale is 1
+			if( scale === 1 ) {
+				dom.slides.style.zoom = '';
+				dom.slides.style.left = '';
+				dom.slides.style.top = '';
+				dom.slides.style.bottom = '';
+				dom.slides.style.right = '';
+				transformElement( dom.slides, '' );
+			}
+			else {
 				// Prefer zooming in desktop Chrome so that content remains crisp
 				if( !isMobileDevice && /chrome/i.test( navigator.userAgent ) && typeof dom.slides.style.zoom !== 'undefined' ) {
 					dom.slides.style.zoom = scale;