The SelectedIndexChanged event fires whenever the selected index changes (no matter how that happened), the SelectionChangeCommitted event only fires in response to changes by the user... so simply moving the code from one to the other is likely to fix it.