diff --git a/src/libs/cplusplus/CppDocument.h b/src/libs/cplusplus/CppDocument.h
index 556e1293335adaca284918754096f456da252090..c1e9041988a4ff77faeaed08b2f6ba8e7704cb92 100644
--- a/src/libs/cplusplus/CppDocument.h
+++ b/src/libs/cplusplus/CppDocument.h
@@ -34,6 +34,7 @@
 #include "Macro.h"
 
 #include <QByteArray>
+#include <QFileInfo>
 #include <QList>
 #include <QMap>
 #include <QSharedPointer>
@@ -199,6 +200,9 @@ public:
 
         unsigned line() const
         { return _line; }
+
+        bool resolved() const
+        { return QFileInfo(_fileName).isAbsolute(); }
     };
 
     class MacroUse: public Block {
diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp
index fea6fd3ed8d305b8eea34b69bc4524d9a1976f7f..dc043246688e20ed70fae856ddf423c152f400e7 100644
--- a/src/plugins/cppeditor/cppeditor.cpp
+++ b/src/plugins/cppeditor/cppeditor.cpp
@@ -605,7 +605,7 @@ CPPEditor::Link CPPEditor::findLinkAt(const QTextCursor &cursor,
     // Handle include directives
     const unsigned lineno = cursor.blockNumber() + 1;
     foreach (const Document::Include &incl, doc->includes()) {
-        if (incl.line() == lineno) {
+        if (incl.line() == lineno && incl.resolved()) {
             link.fileName = incl.fileName();
             link.pos = cursor.block().position();
             link.length = cursor.block().length();