           unless _wasFocused
             @stopObserving( _elem, 'mouseover', '_mouseOver' )
           _ctrl.setEnabled( false ) if _ctrl.enabled
-        @_listeners[_statusItem].splice(_viewIdx,1)
+        _viewIdx = @_listeners[_statusItem].indexOf(_viewId)
+        if ~_viewIdx
+          @_listeners[_statusItem].splice(_viewIdx,1)
   #
   # Registers the HControl -derived object _ctrl by event listener flags
   # in _eventOptions.

    _doubleClicks = []
    _doubleClickable = @_listeners.byEvent.doubleClick
    _stop = false
    # console.log('focused:',_focused)
    for _viewId in _focused
      if ~_doubleClickable.indexOf(_viewId)
        _doubleClicks.push( _viewId )
    for _viewId in _doubleClicks
      _ctrl = @_views[_viewId]
      if _ctrl.doubleClick?
        # console.log _ctrl.componentName
        _stop = true if _ctrl.doubleClick(x,y,true)
    Event.stop(e) if _stop
  #

    _idx = _active.indexOf( _ctrl.viewId )
    unless ~_idx
      _active.unshift(_ctrl.viewId)
      @focus(_ctrl) unless ~_focused.indexOf(_ctrl.viewId)
      _ctrl.active = true
      _ctrl.gainedActiveStatus(_prevActive)
  #
  # Sets the active control
  changeActiveControl: (_ctrl)->
