diff --git a/src/plugins/cppeditor/cpphoverhandler.cpp b/src/plugins/cppeditor/cpphoverhandler.cpp
index a2e270b3e10b6562b3e20dc487c3d4420cd57983..2c91f5cba4b4de5e271aefd262de2977d5af8d5e 100644
--- a/src/plugins/cppeditor/cpphoverhandler.cpp
+++ b/src/plugins/cppeditor/cpphoverhandler.cpp
@@ -413,21 +413,17 @@ void CppHoverHandler::updateHelpIdAndTooltip(TextEditor::ITextEditor *editor, in
         }
     }
 
-    if (!formatTooltip.isEmpty()) {
+    if (!formatTooltip.isEmpty())
         m_toolTip = formatTooltip;
-    }
-
-    if (!m_toolTip.isEmpty())
-        m_toolTip = Qt::escape(m_toolTip);
 
     if (!m_helpId.isEmpty() && !helpLinks.isEmpty()) {
         if (showF1) {
             m_toolTip = QString(QLatin1String("<table><tr><td valign=middle><nobr>%1</td>"
                                               "<td><img src=\":/cppeditor/images/f1.png\"></td></tr></table>"))
-                        .arg(m_toolTip);
+                        .arg(Qt::escape(m_toolTip));
         }
         editor->setContextHelpId(m_helpId);
     } else if (!m_toolTip.isEmpty() && Qt::mightBeRichText(m_toolTip)) {
-        m_toolTip = QString(QLatin1String("<nobr>%1")).arg(m_toolTip);
+        m_toolTip = QString(QLatin1String("<nobr>%1")).arg(Qt::escape(m_toolTip));
     }
 }