diff --git a/src/plugins/cpptools/cppfindreferences.cpp b/src/plugins/cpptools/cppfindreferences.cpp
index 91676c6333988d0c5b5c4c4cbdf631c4a781313c..2182f7c851294281bb9a8231b8ec53a55888fb36 100644
--- a/src/plugins/cpptools/cppfindreferences.cpp
+++ b/src/plugins/cpptools/cppfindreferences.cpp
@@ -646,9 +646,14 @@ void CppFindReferences::findMacroUses(const Macro &macro)
     {
         // ### FIXME: Encoding?
         const QByteArray &source = getSource(macro.fileName(), workingCopy).toLatin1();
-        const QByteArray line = source.mid(macro.offset(), macro.length());
+        QByteArray line = source.mid(macro.offset(), macro.length());
+        const int macroNameOffset = line.indexOf(macro.name());
+        const int macroNameLength = macro.name().length();
+        const int possibleNewLine = line.indexOf('\n', macroNameOffset + macroNameLength);
+        if (possibleNewLine != -1)
+            line.truncate(possibleNewLine); // truncate line at first '\n' after macro name
         search->addResult(macro.fileName(), macro.line(), line,
-                          line.indexOf(macro.name()), macro.name().length());
+                          macroNameOffset, macroNameLength);
     }
 
     QFuture<Usage> result;