diff --git a/src/plugins/cpptools/cpphoverhandler.cpp b/src/plugins/cpptools/cpphoverhandler.cpp
index 1265ef9da7f691a359485df9f547ca6eee688017..3cbb473e6df4d32635fdda9aac909c4ad238b0c1 100644
--- a/src/plugins/cpptools/cpphoverhandler.cpp
+++ b/src/plugins/cpptools/cpphoverhandler.cpp
@@ -175,15 +175,6 @@ void CppHoverHandler::updateHelpIdAndTooltip(TextEditor::ITextEditor *editor, in
                 break;
             }
         }
-
-        if (m_toolTip.isEmpty()) {
-            foreach (const Document::MacroUse use, doc->macroUses()) {
-                if (use.contains(pos)) {
-                    m_toolTip = use.macro().toString();
-                    break;
-                }
-            }
-        }
     }
 
     if (m_toolTip.isEmpty()) {
@@ -240,6 +231,15 @@ void CppHoverHandler::updateHelpIdAndTooltip(TextEditor::ITextEditor *editor, in
         }
     }
 
+    if (doc && m_toolTip.isEmpty()) {
+        foreach (const Document::MacroUse &use, doc->macroUses()) {
+            if (use.contains(pos)) {
+                m_toolTip = use.macro().toString();
+                break;
+            }
+        }
+    }
+
     if (m_helpEngineNeedsSetup
         && m_helpEngine->registeredDocumentations().count() > 0) {
         m_helpEngine->setupData();
@@ -248,7 +248,8 @@ void CppHoverHandler::updateHelpIdAndTooltip(TextEditor::ITextEditor *editor, in
 
     if (!m_helpId.isEmpty() && !m_helpEngine->linksForIdentifier(m_helpId).isEmpty()) {
         m_toolTip = QString(QLatin1String("<table><tr><td valign=middle><nobr>%1</td>"
-                                          "<td><img src=\":/cpptools/images/f1.svg\"></td></tr></table>")).arg(Qt::escape(m_toolTip));
+                                          "<td><img src=\":/cpptools/images/f1.svg\"></td></tr></table>"))
+                    .arg(Qt::escape(m_toolTip));
         editor->setContextHelpId(m_helpId);
     } else if (!m_toolTip.isEmpty()) {
         m_toolTip = QString(QLatin1String("<nobr>%1")).arg(Qt::escape(m_toolTip));