diff --git a/src/libs/qmljsdebugger/qdeclarativedesignview.cpp b/src/libs/qmljsdebugger/qdeclarativedesignview.cpp
index 4d7c05cd11c74248893184cdbc61dd8d567c33a5..5335ca38ed1623d825dd467a7d75d7df5dc7a7e1 100644
--- a/src/libs/qmljsdebugger/qdeclarativedesignview.cpp
+++ b/src/libs/qmljsdebugger/qdeclarativedesignview.cpp
@@ -53,7 +53,7 @@
 namespace QmlViewer {
 
 const int SceneChangeUpdateInterval = 5000;
-const int MaxSceneChangedTimerRestartCount = (SceneChangeUpdateInterval / 100);
+const int MaxSceneChangedTimerRestartCount = 15;
 
 Q_GLOBAL_STATIC(QDeclarativeDesignDebugServer, qmlDesignDebugServer)
 
@@ -538,15 +538,16 @@ void QDeclarativeDesignViewPrivate::_q_sceneChanged(const QList<QRectF> & /*area
 
     sceneChangedTimerRestartCount++;
     if (sceneChangedTimerRestartCount == MaxSceneChangedTimerRestartCount) {
-        sceneChangedTimerRestartCount = 0;
         _q_checkSceneItemCount();
     }
+
     sceneChangedTimer.start();
 }
 
 void QDeclarativeDesignViewPrivate::_q_checkSceneItemCount()
 {
     bool hasNewItems = hasNewGraphicsObjects(q->rootObject());
+    sceneChangedTimerRestartCount = 0;
 
     if (hasNewItems) {
         qmlDesignDebugServer()->sceneItemCountChanged();