diff --git a/js/reveal.js b/js/reveal.js
index a1d9caa91d4a1587571abb1349bd1f902cd64ab9..6097eea813f557a23b488bedf3fe0fb5cc913f32 100644
--- a/js/reveal.js
+++ b/js/reveal.js
@@ -2595,14 +2595,11 @@
 		if( isNaN( parseInt( bits[0], 10 ) ) && name.length ) {
 			var element;
 
-			try {
-				// Find the slide with the specified name
+			// Ensure the named link is a valid HTML ID attribute
+			if( /^[a-zA-Z][\w:.-]*$/.test( name ) ) {
+				// Find the slide with the specified ID
 				element = document.querySelector( '#' + name );
 			}
-			catch( e ) {
-				// If the ID is an invalid selector a harmless SyntaxError
-				// may be thrown here.
-			}
 
 			if( element ) {
 				// Find the position of the named slide and navigate to it