diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp
index 3fda6bf5329bc275681f5776cfb5d468b1df8f30..f0186c340f561dc1c1284e8852b4cb259e36af61 100644
--- a/src/plugins/cppeditor/cppeditor.cpp
+++ b/src/plugins/cppeditor/cppeditor.cpp
@@ -587,7 +587,8 @@ void CPPEditor::switchDeclarationDefinition()
     }
 }
 
-CPPEditor::Link CPPEditor::findLinkAt(const QTextCursor &cursor)
+CPPEditor::Link CPPEditor::findLinkAt(const QTextCursor &cursor,
+                                      bool lookupDefinition)
 {
     Link link;
 
@@ -648,7 +649,7 @@ CPPEditor::Link CPPEditor::findLinkAt(const QTextCursor &cursor)
         Symbol *symbol = resolvedSymbols.first().second;
         if (symbol) {
             Symbol *def = 0;
-            if (!lastSymbol->isFunction())
+            if (lookupDefinition && !lastSymbol->isFunction())
                 def = findDefinition(symbol);
 
             link = linkToSymbol(def ? def : symbol);
@@ -822,7 +823,7 @@ void CPPEditor::mouseMoveEvent(QMouseEvent *e)
             onText = cursorRect(nextPos).right() >= e->x();
         }
 
-        const Link link = findLinkAt(cursor);
+        const Link link = findLinkAt(cursor, false);
 
         if (onText && !link.fileName.isEmpty()) {
             QTextEdit::ExtraSelection sel;
diff --git a/src/plugins/cppeditor/cppeditor.h b/src/plugins/cppeditor/cppeditor.h
index bd4b311d98abb55ce494783442d80990c0446089..96ee05af9532cd8460113b18c80edba697fb0b74 100644
--- a/src/plugins/cppeditor/cppeditor.h
+++ b/src/plugins/cppeditor/cppeditor.h
@@ -148,7 +148,7 @@ private:
         int column;        // Target column
     };
 
-    Link findLinkAt(const QTextCursor &);
+    Link findLinkAt(const QTextCursor &, bool lookupDefinition = true);
     static Link linkToSymbol(CPlusPlus::Symbol *symbol);
     bool openCppEditorAt(const Link &);
     QTextCharFormat m_linkFormat;