         if (_pendingSelectedItem !== undefined)
             return _pendingSelectedItem;
             
-        if (selectedIndex == CUSTOM_SELECTED_ITEM)
+        if (allowCustomSelectedItem && selectedIndex == CUSTOM_SELECTED_ITEM)
             return _selectedItem;
         
         if (selectedIndex == NO_SELECTION || dataProvider == null)

        super();
    }
    
    mx_internal var allowCustomSelectedItem:Boolean = true;
    mx_internal static var CUSTOM_SELECTED_ITEM:int = -3;
    
    //--------------------------------------------------------------------------

        var oldSelectedIndex:int = _selectedIndex;
        var oldCaretIndex:int = _caretIndex;
        
        if (!allowCustomSelectedItem || _proposedSelectedIndex != CUSTOM_SELECTED_ITEM)
        {
            if (_proposedSelectedIndex < NO_SELECTION)
                _proposedSelectedIndex = NO_SELECTION;
