Is your custom model emitting signals that would cause the list view to reload its contents when the tab is clicked? In particular, if beginInsertRows() / endInsertRows() is happening for every row in the model, this could do it. The list would have to repaint itself for every row.