diff --git a/src/quick/items/qquickitemviewtransition.cpp b/src/quick/items/qquickitemviewtransition.cpp
index 0f092b76c396687f02aa5042966f284ecf434be1..ea81e14871707dada1e7d76aa3eba50eda11c687 100644
--- a/src/quick/items/qquickitemviewtransition.cpp
+++ b/src/quick/items/qquickitemviewtransition.cpp
@@ -163,8 +163,6 @@ void QQuickItemViewTransitionJob::finished()
 {
     QDeclarativeTransitionManager::finished();
 
-    if (m_item)
-        m_item->finishedTransition();
     if (m_transitioner)
         m_transitioner->finishedTransition(m_item);
 
@@ -245,8 +243,11 @@ void QQuickItemViewTransitioner::transitionNextReposition(QQuickViewItem *item,
 
 void QQuickItemViewTransitioner::finishedTransition(QQuickViewItem *item)
 {
-    if (changeListener)
-        changeListener->viewItemTransitionFinished(item);
+    if (item) {
+        item->finishedTransition();
+        if (changeListener)
+            changeListener->viewItemTransitionFinished(item);
+    }
 }