diff --git a/src/plugins/qmldesigner/designercore/instances/qmlpropertychangesnodeinstance.cpp b/src/plugins/qmldesigner/designercore/instances/qmlpropertychangesnodeinstance.cpp
index d08891cdefc2ad3ed7d11f76d518b2cc925fb148..6b301754c777ffec6a87fcfd9fe42be54dc73d2d 100644
--- a/src/plugins/qmldesigner/designercore/instances/qmlpropertychangesnodeinstance.cpp
+++ b/src/plugins/qmldesigner/designercore/instances/qmlpropertychangesnodeinstance.cpp
@@ -89,6 +89,9 @@ QObject *QmlPropertyChangesObject::targetObject() const
 
 void QmlPropertyChangesObject::setTargetObject(QObject *object)
 {
+    if (m_targetObject.data() == object)
+        return;
+
     QMutableListIterator<QDeclarativeAction> actionIterator(m_qmlActionList);
     while (actionIterator.hasNext()) {
          QDeclarativeAction &qmlAction = actionIterator.next();