diff --git a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp
index 1850ed7e261af24c48b849d86a49041123fb42a7..b0426c91460cf52d74d8e5e95f6ccdf2907ed25d 100644
--- a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp
+++ b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp
@@ -399,7 +399,8 @@ public:
             return hasQuotes ? QVariant(cleanedValue) : cleverConvert(cleanedValue);
         }
 
-        containingObject->lookupMember(name, m_context, &containingObject);
+        if (containingObject)
+            containingObject->lookupMember(name, m_context, &containingObject);
 
         if (const Interpreter::QmlObjectValue * qmlObject = dynamic_cast<const Interpreter::QmlObjectValue *>(containingObject)) {
             const QString typeName = qmlObject->propertyType(name);
@@ -443,7 +444,8 @@ public:
             return QVariant();
         }
 
-        containingObject->lookupMember(name, m_context, &containingObject);
+        if (containingObject)
+            containingObject->lookupMember(name, m_context, &containingObject);
         const Interpreter::QmlObjectValue * lhsQmlObject = dynamic_cast<const Interpreter::QmlObjectValue *>(containingObject);
         if (!lhsQmlObject)
             return QVariant();
@@ -465,7 +467,8 @@ public:
                 rhsValueName = memberExp->name->asString();
         }
 
-        rhsValueObject->lookupMember(rhsValueName, m_context, &rhsValueObject);
+        if (rhsValueObject)
+            rhsValueObject->lookupMember(rhsValueName, m_context, &rhsValueObject);
 
         const Interpreter::QmlObjectValue *rhsQmlObjectValue = dynamic_cast<const Interpreter::QmlObjectValue *>(rhsValueObject);
         if (!rhsQmlObjectValue)