diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp b/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp
index 0ec9b82697f15ee7a8ced0c623db10dbd7fb5889..faf3bf9c49ccea552796ab27646a07fe0bc19711 100644
--- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp
+++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp
@@ -348,8 +348,14 @@ void PropertyEditor::changeExpression(const QString &name)
 
     QmlObjectNode fxObjectNode(m_selectedNode);
     PropertyEditorValue *value = qobject_cast<PropertyEditorValue*>(QmlMetaType::toQObject(m_currentType->m_backendValuesPropertyMap.value(name)));
-    if (fxObjectNode.currentState().isBaseState()) {
-        fxObjectNode.modelNode().bindingProperty(name).setExpression(value->expression());
+    try {
+        if (fxObjectNode.currentState().isBaseState()) {
+            fxObjectNode.modelNode().bindingProperty(name).setExpression(value->expression());
+        }
+    }
+
+    catch (Exception &e) {
+        QMessageBox::warning(0, "Error", e.description());
     }
 }