diff --git a/dev/demo/all.html b/dev/demo/all.html
index 473a653..ff77d97 100644
--- a/dev/demo/all.html
+++ b/dev/demo/all.html
@@ -35,7 +35,7 @@
         <!-- Search in the following virtual collection -->
         <div id="vc-view"></div>
         in
-        <input id="collection-show" name="cs" type="hidden">
+        <input id="show" name="show" type="hidden" />
         <input id="collection-name" name="collection-name" type="hidden">
         <input id="collection" name="collection" type="text" value="">
 	with <span class="select">
diff --git a/dev/js/src/init.js b/dev/js/src/init.js
index 1749e6d..80257e6 100644
--- a/dev/js/src/init.js
+++ b/dev/js/src/init.js
@@ -7,6 +7,7 @@
   'hint/array',
   'vc/array',
   'lib/alertify',
+  'session',
   'api',
   'mailToChiffre',
   'lib/highlight/highlight.pack',
@@ -18,17 +19,18 @@
 	     domReady,
 	     hintArray,
 	     vcArray,
-	     alertifyClass) {
+	     alertifyClass,
+	     sessionClass) {
 
   // Set hint array for hint helper
   KorAP.hintArray = hintArray;
 
   // Localization values
   var loc = KorAP.Locale;
-  loc.VC_allCorpora    = loc.VC_allCorpora  || 'all Corpora';
-  loc.VC_oneCollection = loc.VC_oneCollection  || 'one Collection';
-  loc.TOGGLE_ALIGN = loc.TOGGLE_ALIGN  || 'toggle Alignment';
-  loc.SHOW_KQ = loc.SHOW_KQ  || 'show KoralQuery';
+  loc.VC_allCorpora    = loc.VC_allCorpora    || 'all Corpora';
+  loc.VC_oneCollection = loc.VC_oneCollection || 'one Collection';
+  loc.TOGGLE_ALIGN     = loc.TOGGLE_ALIGN     || 'toggle Alignment';
+  loc.SHOW_KQ          = loc.SHOW_KQ          || 'show KoralQuery';
 
   // Override KorAP.log
   window.alertify = alertifyClass;
@@ -45,6 +47,10 @@
 
   domReady(function (event) {
     var obj = {};
+    var session = sessionClass.create('KalamarJS');
+
+    // What should be visible?
+    var show = session.get('show') || {};
 
     /**
      * Release notifications
@@ -107,37 +113,50 @@
     };
 
     // There is a koralQuery
-    if (KorAP.koralQuery !== undefined && resultButton !== null) {
-      var kq;
-      
-      var toggle = document.createElement('a');
-      toggle.setAttribute('title', loc.SHOW_KQ)
-      toggle.classList.add('show-kq', 'button');
-      toggle.appendChild(document.createElement('span'))
-	.appendChild(document.createTextNode(loc.SHOW_KQ));
-      resultButton.appendChild(toggle);
+    if (KorAP.koralQuery !== undefined) {
 
-      if (toggle !== undefined) {
-      
-	// Show koralquery
-	toggle.addEventListener(
-	  'click', function () {
-	    if (kq === undefined) {
-	      kq = document.createElement('div');
-	      kq.setAttribute('id', 'koralquery');
-	      kq.style.display = 'none';
-	      var kqInner = document.createElement('div');
-	      kq.appendChild(kqInner);
-	      kqInner.innerHTML = JSON.stringify(KorAP.koralQuery, null, '  ');
-	      hljs.highlightBlock(kqInner);
-	      var sb = document.getElementById('search');
-	      sb.insertBefore(kq, sb.firstChild);
-	    };
+      if (resultButton !== null) {
+	var kq;
+      	var toggle = document.createElement('a');
+	toggle.setAttribute('title', loc.SHOW_KQ)
+	toggle.classList.add('show-kq', 'button');
+	toggle.appendChild(document.createElement('span'))
+	  .appendChild(document.createTextNode(loc.SHOW_KQ));
+	resultButton.appendChild(toggle);
 
-	    kq.style.display = (kq.style.display === 'none') ? 'block' : 'none';
+	var showKQ = function () {
+	  if (kq === undefined) {
+	    kq = document.createElement('div');
+	    kq.setAttribute('id', 'koralquery');
+	    kq.style.display = 'none';
+	    var kqInner = document.createElement('div');
+	    kq.appendChild(kqInner);
+	    kqInner.innerHTML = JSON.stringify(KorAP.koralQuery, null, '  ');
+	    hljs.highlightBlock(kqInner);
+	    var sb = document.getElementById('search');
+	    sb.insertBefore(kq, sb.firstChild);
+	  };
+
+	  if (kq.style.display === 'none') {
+	    kq.style.display = 'block';
+	    show['kq'] = true;
 	  }
-	);
+	  else {
+	    kq.style.display = 'none';
+	    delete show['kq'];
+	  };
+	};
+
+	if (toggle !== undefined) {
+      
+	  // Show koralquery
+	  toggle.addEventListener('click', showKQ);
+	};
       };
+
+      // Session has KQ visibility stored
+      if (show["kq"])
+	showKQ.apply();
     };
 
 
@@ -168,16 +187,15 @@
      * Toggle the Virtual Collection builder
      */
     if (vcname) {
-      var collectionShow = document.getElementById('collection-show');
       var vc;
       var vcclick = function () {
 	var view = document.getElementById('vc-view');
 
 	// The vc is visible
-	if (this.classList.contains('active')) {
+	if (vcname.classList.contains('active')) {
 	  view.removeChild(vc.element());
-	  this.classList.remove('active');
-	  delete collectionShow['value'];
+	  vcname.classList.remove('active');
+	  delete show['collection'];
 	}
 
 	// The vc is not visible
@@ -185,12 +203,12 @@
 	  if (vc === undefined)
 	    vc = _getCurrentVC(vcClass, vcArray);
 	  view.appendChild(vc.element());
-	  this.classList.add('active');
-	  collectionShow.value = 'true';
+	  vcname.classList.add('active');
+	  show['collection'] = true;
 	};
       };
       vcname.onclick = vcclick;
-      if (collectionShow.value === 'true') {
+      if (show['collection']) {
 	vcclick.apply();
       };
     };
@@ -201,7 +219,8 @@
      */
     if (document.getElementById('view-tutorial')) {
       window.tutorial = tutClass.create(
-	document.getElementById('view-tutorial')
+	document.getElementById('view-tutorial'),
+	session
       );
       obj.tutorial = window.tutorial;
     }
@@ -225,11 +244,30 @@
     var form = document.getElementById('searchform');
     if (form !== undefined) {
       form.addEventListener('submit', function (e) {
-	if (vc === undefined)
-	  vc = _getCurrentVC(vcClass, vcArray);
+	var qf = document.getElementById('q-field');
 
-	if (vc !== undefined)
+	// No query was defined
+	if (qf.value === undefined || qf.value === '') {
+	  qf.focus();
+	  e.halt();
+	  KorAP.log(700, "No query given");
+	  return;
+	};
+
+	// Store session information
+	session.set("show", show);
+
+	// Set Virtual collection 
+	if (vc === undefined) {
+	  vc = _getCurrentVC(vcClass, vcArray);
+	};
+
+	if (vc !== undefined) {
 	  input.value = vc.toQuery();
+	}
+	else {
+	  delete input['value'];
+	};
       });
     };
 
diff --git a/dev/js/src/tutorial.js b/dev/js/src/tutorial.js
index 55c2415..5009a17 100644
--- a/dev/js/src/tutorial.js
+++ b/dev/js/src/tutorial.js
@@ -17,16 +17,22 @@
      * Create new tutorial object.
      * Accepts an element to bind the tutorial window to.
      */
-    create : function (obj) {
+    create : function (obj,session) {
       if (!obj)
 	return null;
-      return Object.create(this)._init(obj);
+      return Object.create(this)._init(obj,session);
     },
 
     // Initialize Tutorial object
-    _init : function (obj) {
+    _init : function (obj, session) {
 
-      this._session = sessionClass.create();
+      if (session === undefined) {
+	this._session = sessionClass.create();
+      }
+      else {
+	this._session = session;
+      };
+    
 
       if (obj) {
 	this._show = obj;
diff --git a/kalamar.dict b/kalamar.dict
index 971407d..b5964f5 100644
--- a/kalamar.dict
+++ b/kalamar.dict
@@ -22,7 +22,7 @@
     },
     about => 'Über KorAP',
     login => 'Anmelden',
-    searchtitle => 'KorAP: Finde "<%== $q %>" (<%= $ql %>)',
+    searchtitle => 'KorAP: Finde »<%== $q %>« <% if (param("collection-name")) { %>in <%== param("collection-name") %><% } %> mit <%== loc("QL_" . $ql, "unbekannter Anfragesprache") %>',
     searchplaceholder => 'Finde ...',
     go => 'Los!',
     in => 'in',
@@ -60,7 +60,7 @@
     about => 'About KorAP',
     login => 'Login',
     go => 'Go!',
-    searchtitle => 'KorAP: Find "<%== $q %>" (<%= $ql %>)',
+    searchtitle => 'KorAP: Find »<%== $q %>« <% if (param("collection-name")) { %>in <%== param("collection-name") %><% } %> with <%== loc("QL_". $ql, "unknown query language") %>)',
     searchplaceholder => 'Find ...',
     in => 'in',
     by => 'by',
@@ -80,6 +80,12 @@
       -short => 'KorAP',
       desc => 'KorAP - Corpus Analysis Platform',
       overview => 'KorAP - Overview'
+    },
+    QL => {
+      poliqarp => 'Poliqarp',
+      cosmas2 => 'Cosmas II',
+      annis => 'Annis QL',
+      cql => 'CQL v1.2'
     }
   }
 };
diff --git a/templates/partial/header.html.ep b/templates/partial/header.html.ep
index e363989..c3e7e6e 100644
--- a/templates/partial/header.html.ep
+++ b/templates/partial/header.html.ep
@@ -17,14 +17,12 @@
     <div id="vc-view"></div>
     <%= loc 'in' %>
     %# TODO: Create 'align' parameter
-    %# TODO: Create 'show' parameter with comma separated list
-    %= hidden_field 'cs' => stash('cs'), id => 'collection-show'
-    %= hidden_field 'collection-name' => stash('collection-name'), id => 'collection-name' 
+    %= hidden_field 'collection-name' => param('collection-name'), id => 'collection-name' 
     %= text_field 'collection', id => 'collection'
 
     <%= loc 'with' %>
     <span class="select">
-      %= select_field 'ql', [[Poliqarp => 'poliqarp'], ['Cosmas II' => 'cosmas2'], ['Annis' => 'annis'], ['CQL v1.2' => 'cql']], id => 'ql-field'
+      %= select_field 'ql', [[loc('QL_poliqarp') => 'poliqarp'], [loc('QL_cosmas2') => 'cosmas2'], [loc('QL_annis') => 'annis'], [loc('QL_cql') => 'cql']], id => 'ql-field'
     </span>
     <div class="button right">
       % param(cutoff => 1) unless param 'q';
