diff --git a/src/plugins/debugger/debuggertooltip.cpp b/src/plugins/debugger/debuggertooltip.cpp
index b81a798026ec860ff1914186f988c14fedc02b97..96452a4ba40d49a738479585e1b352d19c65a84c 100644
--- a/src/plugins/debugger/debuggertooltip.cpp
+++ b/src/plugins/debugger/debuggertooltip.cpp
@@ -61,6 +61,8 @@ public:
     int computeHeight(const QModelIndex &index) const;
     Q_SLOT void computeSize();
 
+    void leaveEvent(QEvent *ev);
+
 private:
     QSize m_size;
 };
@@ -161,6 +163,13 @@ void ToolTipWidget::run(const QPoint &point, QAbstractItemModel *model,
     //viewport()->setPalette(pal);
 }
 
+void ToolTipWidget::leaveEvent(QEvent *ev)
+{
+    Q_UNUSED(ev);
+    if (QApplication::keyboardModifiers() == Qt::NoModifier)
+        hide();
+}
+
 void showDebuggerToolTip(const QPoint &point, QAbstractItemModel *model,
         const QModelIndex &index, const QString &msg)
 {