       if not menuOpen.value()
         menuOpen.value(true)
       else
-        if selection.value() is null
+        if noDataEverSelected and selection.value() is null
           selection.value(data.value()[0])
+          noDataEverSelected = false
         else
         ##increment selection
           selectionIndex = 0

    text: selection
  }).value()


  valueOut.on('keydown', (->
    keyCode = d3.event.keyCode

      userChar = String.fromCharCode(keyCode)
      userInputText.value(userChar)
      for datum in data.value()
        window.datum = datum
        if datum and label.value()(datum).charAt(0) is userInputText.value()
          selection.value(datum)
          break

