diff --git a/js/reveal.js b/js/reveal.js
index b1a20ccdb493c0550a788bcaf5c17397742ed6e8..29c2df090f9fd521393de5ef4ea7b9f3ec1847f0 100644
--- a/js/reveal.js
+++ b/js/reveal.js
@@ -3781,6 +3781,21 @@
 
 	}
 
+	/**
+	 * Checks if the target element prevents the triggering of
+	 * swipe navigation.
+	 */
+	function isSwipePrevented( target ) {
+
+		while( target && typeof target.hasAttribute === 'function' ) {
+			if( target.hasAttribute( 'data-prevent-swipe' ) ) return true;
+			target = target.parentNode;
+		}
+
+		return false;
+
+	}
+
 
 	// --------------------------------------------------------------------//
 	// ----------------------------- EVENTS -------------------------------//
@@ -3954,7 +3969,7 @@
 	 */
 	function onTouchStart( event ) {
 
-		if(preventSwipe(event.target)) return true;
+		if( isSwipePrevented( event.target ) ) return true;
 
 		touch.startX = event.touches[0].clientX;
 		touch.startY = event.touches[0].clientY;
@@ -3979,7 +3994,7 @@
 	 */
 	function onTouchMove( event ) {
 
-		if(preventSwipe(event.target)) return true;
+		if( isSwipePrevented( event.target ) ) return true;
 
 		// Each touch should only trigger one action
 		if( !touch.captured ) {
@@ -4271,15 +4286,6 @@
 
 	}
 
-	function preventSwipe(target) {
-		while( target && typeof target.hasAttribute === 'function' ) {
-			if(target.hasAttribute('prevent-swipe')) return true;
-			target = target.parentNode;
-		}
-
-		return false;
-	}
-
 
 	// --------------------------------------------------------------------//
 	// ------------------------ PLAYBACK COMPONENT ------------------------//