diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp b/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp
index 38cc089edb41cb955ddf7de0138820c415db4067..ddb3428c46a4e6dc9c9adb73ab1edbc9db01d23d 100644
--- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp
+++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp
@@ -385,12 +385,9 @@ void PropertyEditor::selectedNodesChanged(const QList<ModelNode> &selectedNodeLi
 {
     Q_UNUSED(lastSelectedNodeList);
 
-    if (m_selectedNode.isValid() && selectedNodeList.contains(m_selectedNode))
-        return;
-
-    if (selectedNodeList.isEmpty())
+    if (selectedNodeList.isEmpty() || selectedNodeList.count() > 1)
         select(ModelNode());
-    else
+    else if (m_selectedNode != selectedNodeList.first())
         select(selectedNodeList.first());
 }