diff --git a/src/libs/cplusplus/ResolveExpression.cpp b/src/libs/cplusplus/ResolveExpression.cpp
index b3012b2096d3c1634b42635bb92d2e5bbdd21a39..2c333910e3feca8dc7bf197d4d8c2276e8af12ea 100644
--- a/src/libs/cplusplus/ResolveExpression.cpp
+++ b/src/libs/cplusplus/ResolveExpression.cpp
@@ -555,6 +555,7 @@ bool ResolveExpression::visit(MemberAccessAST *ast)
     // The candidate types for the base expression are stored in
     // _results.
     const QList<LookupItem> baseResults = _results;
+    _results.clear();
 
     // Evaluate the expression-id that follows the access operator.
     const Name *memberName = 0;
diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp
index 579be85360c22f010a5a0d380dc104b808d927b0..76a265b67e8f94c52c46c385a0cf95f3d79f4e83 100644
--- a/src/plugins/cppeditor/cppeditor.cpp
+++ b/src/plugins/cppeditor/cppeditor.cpp
@@ -1427,7 +1427,7 @@ CPPEditor::Link CPPEditor::findLinkAt(const QTextCursor &cursor,
 
     TypeOfExpression typeOfExpression;
     typeOfExpression.init(doc, snapshot);
-    QList<LookupItem> resolvedSymbols = typeOfExpression(expression, scope, TypeOfExpression::Preprocess);
+    const QList<LookupItem> resolvedSymbols = typeOfExpression(expression, scope, TypeOfExpression::Preprocess);
 
     if (!resolvedSymbols.isEmpty()) {
         const LookupItem result = skipForwardDeclarations(resolvedSymbols);
@@ -1435,12 +1435,8 @@ CPPEditor::Link CPPEditor::findLinkAt(const QTextCursor &cursor,
         if (Symbol *symbol = result.declaration()) {
             Symbol *def = 0;
 
-            qWarning() << "find definition?";
-#warning port me
-#if 0
-            if (resolveTarget && !lastSymbol->isFunction())
+            if (resolveTarget)
                 def = findDefinition(symbol, snapshot);
-#endif
 
             link = linkToSymbol(def ? def : symbol);
             link.begin = beginOfToken;