diff --git a/dev/js/spec/selectMenuSpec.js b/dev/js/spec/selectMenuSpec.js
index 5f0c909..26cfd25 100644
--- a/dev/js/spec/selectMenuSpec.js
+++ b/dev/js/spec/selectMenuSpec.js
@@ -54,6 +54,27 @@
         // TODO: Improve lcfield!!!!!!
 	      expect(menu.shownItem(0).lcField()).toEqual(' poliqarp');
       });
+
+      it('should first show the selected value', function () {
+	      var div = document.createElement('div');
+	      var element = div.appendChild(document.createElement('select'));
+	      for (i in list) {
+	        var opt = element.appendChild(document.createElement('option'));
+	        opt.setAttribute('value', list[i].value);
+	        opt.appendChild(document.createTextNode(list[i].content));
+	      };
+
+        expect(element.selectedIndex).toEqual(0);
+
+        // Select annis
+        element.children[2].selected = true;
+
+        expect(element.selectedIndex).toEqual(2);
+        
+	      var menu = selectMenuClass.create(div);
+        menu.show(3);
+        expect(menu._title.textContent).toEqual('Annis');
+      });
     });
   }
 );
diff --git a/dev/js/src/api.js b/dev/js/src/api.js
index c03013f..5295b3c 100644
--- a/dev/js/src/api.js
+++ b/dev/js/src/api.js
@@ -28,7 +28,7 @@
 
     // This is for legacy support
     var legacy = legacySigle.exec(match.textSigle);
-    if (legacy[0]) {
+    if (legacy !== null && legacy[0]) {
       url += '/' + legacy[1] + '/' + legacy[2] + '/' + legacy[3];
     }
     else {
diff --git a/dev/js/src/selectMenu.js b/dev/js/src/selectMenu.js
index d8db4cd..dc0f863 100644
--- a/dev/js/src/selectMenu.js
+++ b/dev/js/src/selectMenu.js
@@ -36,7 +36,7 @@
 	          ._init(list, {
 	            itemClass : selectMenuItemClass
 	          });
-
+        
 	      obj._container = element;
 	      obj._select = select;
 	      obj._select.style.display = 'none';
@@ -67,7 +67,6 @@
 	        this.showTitle();
 	      }.bind(obj));
 
-        // Show the title
 	      obj.showTitle();
 	      return obj;
       },
@@ -81,7 +80,7 @@
 	        this._select.selectedIndex = index;
 	      };
 
-	      return this._selected || 0;
+	      return this._selected || this._select.selectedIndex || 0;
       },
 
       /**
