IA doesn’t document the order of initialization events and custom methods with respect to each other and the propertyChange events that can result. Assigning the dataset to the component generally produces a pair of assignments to selectedRow attempting to maintain the previously selected row. Your best bet is to wrap your assignment in an invokeLater() operation, so it happens after any already-queued events.