diff --git a/share/qtcreator/qml/qmljsdebugger/qdeclarativeviewobserver.cpp b/share/qtcreator/qml/qmljsdebugger/qdeclarativeviewobserver.cpp
index 7c179dccba37199781090804cdd300c10da2655b..20c9c441628c70207cd7dc8c81e484b364212fc0 100644
--- a/share/qtcreator/qml/qmljsdebugger/qdeclarativeviewobserver.cpp
+++ b/share/qtcreator/qml/qmljsdebugger/qdeclarativeviewobserver.cpp
@@ -716,9 +716,11 @@ void QDeclarativeViewObserverPrivate::_q_onCurrentObjectsChanged(QList<QObject*>
                 gfxObjects << gfxObj;
         }
     }
-    setSelectedItemsForTools(items);
-    clearHighlight();
-    highlight(gfxObjects, QDeclarativeViewObserverPrivate::IgnoreContext);
+    if (designModeBehavior) {
+        setSelectedItemsForTools(items);
+        clearHighlight();
+        highlight(gfxObjects, QDeclarativeViewObserverPrivate::IgnoreContext);
+    }
 }
 
 QString QDeclarativeViewObserver::idStringForObject(QObject *obj)