diff --git a/src/libs/qmljs/qmljscheck.cpp b/src/libs/qmljs/qmljscheck.cpp
index 8a7592dfc0ee2a11ecdeebe81ddfc5d245f12cd5..3f0806fa401ccf32a2781da4e2b532e0ba40c59c 100644
--- a/src/libs/qmljs/qmljscheck.cpp
+++ b/src/libs/qmljs/qmljscheck.cpp
@@ -340,6 +340,12 @@ const Value *Check::checkScopeObjectMember(const UiQualifiedId *id)
             return 0;
         }
 
+        if (! idPart->next->name) {
+            // somebody typed "id." and error recovery still gave us a valid tree,
+            // so just bail out here.
+            return 0;
+        }
+
         idPart = idPart->next;
         propertyName = idPart->name->asString();