diff --git a/modules/discopower/config-templates/module_discopower.php b/modules/discopower/config-templates/module_discopower.php
index 50ca7aaba6aff81e18c3ce4ed8661a3de48a603e..073e70b13a885a49478c64124c8333f2785d3284 100644
--- a/modules/discopower/config-templates/module_discopower.php
+++ b/modules/discopower/config-templates/module_discopower.php
@@ -20,6 +20,13 @@ $config = array (
 	 *
 	 * 'tabs' => array('norway', 'finland'),
 	 */
+	 
+	 /**
+	  * If you want to change the scoring algorithm to a more google suggest like one
+	  * (filters by start of words) uncomment this ... 
+	  *
+	  * 'score' => 'suggest',
+	  */
 
 );
 
diff --git a/modules/discopower/lib/PowerIdPDisco.php b/modules/discopower/lib/PowerIdPDisco.php
index dfe9b3f80164d3726a577d1e070a518827ff717f..7ab43ff839f931bc1b8276c657261532123a4dac 100644
--- a/modules/discopower/lib/PowerIdPDisco.php
+++ b/modules/discopower/lib/PowerIdPDisco.php
@@ -188,6 +188,7 @@ class sspmod_discopower_PowerIdPDisco extends SimpleSAML_XHTML_IdPDisco {
 		$t->data['rememberenabled'] = $this->config->getBoolean('idpdisco.enableremember', FALSE);
 		$t->data['rememberchecked'] = $this->config->getBoolean('idpdisco.rememberchecked', FALSE);
 		$t->data['defaulttab'] = $this->discoconfig->getValue('defaulttab', 0);
+		$t->data['score'] = $this->discoconfig->getValue('score', 'quicksilver');
 		$t->show();
 	}
 }
diff --git a/modules/discopower/templates/disco-tpl.php b/modules/discopower/templates/disco-tpl.php
index 9791f79e0b2725ccc57d4ccaf1cd8fd1b19c837b..f3ead884e5a734233a65368f77445da0a81bd4f0 100644
--- a/modules/discopower/templates/disco-tpl.php
+++ b/modules/discopower/templates/disco-tpl.php
@@ -21,7 +21,7 @@ $this->data['jquery'] = array('version' => '1.6', 'core' => TRUE, 'ui' => TRUE,
 $this->data['head'] = '<link rel="stylesheet" media="screen" type="text/css" href="' . SimpleSAML_Module::getModuleUrl('discopower/style.css')  . '" />';
 
 $this->data['head'] .= '<script type="text/javascript" src="' . SimpleSAML_Module::getModuleUrl('discopower/js/jquery.livesearch.js')  . '"></script>';
-$this->data['head'] .= '<script type="text/javascript" src="' . SimpleSAML_Module::getModuleUrl('discopower/js/quicksilver.js')  . '"></script>';
+$this->data['head'] .= '<script type="text/javascript" src="' . SimpleSAML_Module::getModuleUrl('discopower/js/' . $this->data['score'] . '.js')  . '"></script>';
 
 $this->data['head'] .= '<script type="text/javascript">
 
@@ -108,12 +108,6 @@ function getTranslatedName($t, $metadata) {
 		} else {
 			return $metadata['name'];
 		}
-	} elseif (array_key_exists('OrganizationDisplayName', $metadata)) {
-		if (is_array($metadata['OrganizationDisplayName'])) {
-			return $t->getTranslation($metadata['OrganizationDisplayName']);
-		} else {
-			return $metadata['OrganizationDisplayName'];
-		}
 	}
 	return $metadata['entityid'];
 }
diff --git a/modules/discopower/www/js/suggest.js b/modules/discopower/www/js/suggest.js
new file mode 100644
index 0000000000000000000000000000000000000000..770260ac32486f61dc42c2ed96f8f27a015e0d75
--- /dev/null
+++ b/modules/discopower/www/js/suggest.js
@@ -0,0 +1,23 @@
+var suggest_cache = new Array;
+
+String.prototype.score = function(abbreviation,offset) {
+	if (suggest_cache['abv'] != abbreviation) {
+		suggest_cache['abv'] = abbreviation;
+		var words = abbreviation.split(/\s/);
+		suggest_cache['len'] = words.length;
+		suggest_cache.re = new Array;
+
+		//words.each();
+		for ( var i=0; i<suggest_cache['len']; ++i ){
+			suggest_cache['re'][i] = new Array();
+			// /\b<x>/ doesn't work when <x> i a non-ascii - oddly enough \s does ...
+			suggest_cache['re'][i]['initialword'] = new RegExp("^"+words[i], "i");
+			suggest_cache['re'][i]['word'] = new RegExp("\\s"+words[i], "i");
+		}
+	}
+
+	for ( var i=0; i<suggest_cache['len']; ++i ){
+		if (!(this.match(suggest_cache['re'][i]['initialword']) || this.match(suggest_cache['re'][i]['word']))) return 0;
+	}
+	return 1;
+}
\ No newline at end of file