This thread is a bit old but.... An easier solution that worked for me is to use callLater to eliminate the problem. onCountChanged: { if (moveToEnd) { Qt.callLater( listview.positionViewAtEnd ) } }