diff --git a/src/plugins/qmldesigner/core/instances/objectnodeinstance.cpp b/src/plugins/qmldesigner/core/instances/objectnodeinstance.cpp
index 73e2e4dce94baab6912489d3c689db61002e3a3e..d6ede39ccdf3352393a7dde1855246c9f175bbca 100644
--- a/src/plugins/qmldesigner/core/instances/objectnodeinstance.cpp
+++ b/src/plugins/qmldesigner/core/instances/objectnodeinstance.cpp
@@ -408,7 +408,8 @@ void ObjectNodeInstance::setPropertyBinding(const QString &name, const QString &
         binding->setTarget(metaProperty);
         binding->setNotifyOnValueChanged(true);
         QDeclarativeAbstractBinding *oldBinding = QDeclarativePropertyPrivate::setBinding(metaProperty, binding);
-        oldBinding->destroy();
+        if (oldBinding)
+            oldBinding->destroy();
         binding->update();
     } else {
         qWarning() << "Cannot set binding for property" << name << ": property is unknown for type"