diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp
index ff68bd0bac27e8f9e2c1574ea1f598ae970b9f4e..8d4a36178ce5150221d75c93bbe216532d935dc0 100644
--- a/src/plugins/cppeditor/cppeditor.cpp
+++ b/src/plugins/cppeditor/cppeditor.cpp
@@ -520,6 +520,15 @@ void CPPEditor::jumpToDefinition()
 #endif
         }
     } else {
+        foreach (const Document::MacroUse use, doc->macroUses()) {
+            if (use.contains(endOfName - 1)) {
+                const Macro &macro = use.macro();
+                const QString fileName = QString::fromUtf8(macro.fileName);
+                if (TextEditor::BaseTextEditor::openEditorAt(fileName, macro.line, 0))
+                    return; // done
+            }
+        }
+
         qDebug() << "No results for expression:" << expression;
     }
 }