diff --git a/dev/demo/hintdemo.js b/dev/demo/hintdemo.js
index 3eb38cc..7882787 100644
--- a/dev/demo/hintdemo.js
+++ b/dev/demo/hintdemo.js
@@ -9,12 +9,13 @@
 
 require(['hint','hint/array','lib/domReady'], function (hintClass, hintArray, domReady) {
   KorAP.hintArray = hintArray;
+  KorAP.Hint = null;
   domReady(function() {
-    hint = hintClass.create();
+    KorAP.Hint = hintClass.create();
   });
 });
 
 function demoAlert (pos, msg) {
-  if (hint !== undefined)
-    hint.alert(pos, msg);
+  if (KorAP.hint !== undefined)
+    KorAP.Hint.alert(pos, msg);
 }
diff --git a/dev/js/src/hint/menu.js b/dev/js/src/hint/menu.js
index 1763306..fcf3fc6 100644
--- a/dev/js/src/hint/menu.js
+++ b/dev/js/src/hint/menu.js
@@ -12,12 +12,12 @@
      */
     create : function (hint, context, params) {
       var obj = Object.create(menuClass)
-	.upgradeTo(this)
-	._init(params, {
-	  itemClass : itemClass,
-	  prefixClass : prefixClass,
-	  lengthFieldClass : lengthFieldClass
-	});
+	        .upgradeTo(this)
+	        ._init(params, {
+	          itemClass : itemClass,
+	          prefixClass : prefixClass,
+	          lengthFieldClass : lengthFieldClass
+	        });
       obj._context = context;
       obj._element.classList.add('hint');
       obj._hint = hint;
@@ -27,12 +27,12 @@
 
       // This is only domspecific
       obj.element().addEventListener('blur', function (e) {
-	this.menu.hide();
+	      this.menu.hide();
       });
 
       // Focus on input field on hide
       obj.onHide = function () {
-	this._hint.unshow();
+	      this._hint.unshow();
       };
 
       return obj;
diff --git a/dev/js/src/init.js b/dev/js/src/init.js
index 2ad0883..6eee4f8 100644
--- a/dev/js/src/init.js
+++ b/dev/js/src/init.js
@@ -416,7 +416,7 @@
       obj.hint = hintClass.create();
 
     // Add the hinthelper to the KorAP object to make it manipulatable globally
-    // KorAP.Hint = obj.hint;
+    KorAP.Hint = obj.hint;
 
     return obj;
   });
