diff --git a/public/js/hint.js b/public/js/hint.js
index 786c185..0ec79b8 100644
--- a/public/js/hint.js
+++ b/public/js/hint.js
@@ -176,6 +176,8 @@
   function changed (e) {
     var el = e.target;
 
+console.log("Change " + e.key);
+
     if (e.key === '/' || e.key === '=') {
       var start = el.selectionStart;
       mirror.firstChild.textContent = el.value.substring(0, start);
@@ -216,8 +218,14 @@
       e.stopPropagation();
       e.preventDefault();
       return false;
+    }
+    else if (e.key !== 'Shift' &&
+	     e.key !== 'Alt' &&
+	     e.key !== 'AltGraph' &&
+	     e.key !== 'CapsLock') {
+      that.hide();
     };
-    that.hide();
+    return true;
   };
 
   function qlSelect () {
@@ -235,5 +243,5 @@
   window.onresize = init;
   search.addEventListener("keyup",   changed,  false);
   search.addEventListener("keydown", select,   false);
-  qlField.addEventListener('change', qlSelect, false);
+  qlField.addEventListener("change", qlSelect, false);
 };
diff --git a/public/js/tutorialCookie.js b/public/js/tutorialCookie.js
index 0ae1b1d..31741a0 100644
--- a/public/js/tutorialCookie.js
+++ b/public/js/tutorialCookie.js
@@ -23,8 +23,6 @@
 function getTutorialPage() {
   var pc = 'tutorial_page';
   var c_value = document.cookie;
-  console.log("Found cookie " + c_value);
-
   var c_start = c_value.indexOf(" " + pc + "=");
   if (c_start == -1)
     c_start = c_value.indexOf(pc + "=");
@@ -41,6 +39,5 @@
 
     c_value = unescape(c_value.substring(c_start,c_end));
   };
-console.log("got tutpage " + c_value);
   return c_value;
 };
diff --git a/templates/tutorial/poliqarp-plus.html.ep b/templates/tutorial/poliqarp-plus.html.ep
index d8340a7..06a4b09 100644
--- a/templates/tutorial/poliqarp-plus.html.ep
+++ b/templates/tutorial/poliqarp-plus.html.ep
@@ -38,7 +38,7 @@
 
 <p>The <code>/x</code> will search for all segments that contain a sequence of characters the regular expression matches. That means the above query is equivalent to:</p>
 
-%= korap_tut_query poliqarp => '.*?"l(au|ie)fen.*?"', cutoff => 1
+%= korap_tut_query poliqarp => '".*?l(au|ie)fen.*?"', cutoff => 1
 
 <p>The <code>/x</code> flag can also be used in conjuntion with strict expressions to search for substrings:</p>
 
