diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp
index 60b7b7b2b595b30344feff852c91560a3b595ae3..35390c65c0bee665534370a7e6049d659a177ef2 100644
--- a/src/plugins/cppeditor/cppeditor.cpp
+++ b/src/plugins/cppeditor/cppeditor.cpp
@@ -1348,9 +1348,13 @@ CPPEditor::Link CPPEditor::findLinkAt(const QTextCursor &cursor,
         if (Symbol *symbol = result.declaration()) {
             Symbol *def = 0;
 
-            if (resolveTarget)
+            if (resolveTarget) {
                 def = findDefinition(symbol, snapshot);
 
+                if (def == doc->findSymbolAt(line, column))
+                    def = 0; // jump to declaration then.
+            }
+
             link = linkToSymbol(def ? def : symbol);
             link.begin = beginOfToken;
             link.end = endOfToken;