diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp
index 81cc4741b5e31a822406f2c0f383050bda807071..233398026fec2ea83ee2a6d30dd92b0ed4b6cae6 100644
--- a/src/plugins/cpptools/cppcodecompletion.cpp
+++ b/src/plugins/cpptools/cppcodecompletion.cpp
@@ -217,6 +217,8 @@ FunctionArgumentWidget::FunctionArgumentWidget()
 void FunctionArgumentWidget::showFunctionHint(Function *functionSymbol,
                                               const LookupContext &context)
 {
+    m_popupFrame->hide();
+
     m_item = functionSymbol;
     m_context = context;
     m_startpos = m_editor->position();
@@ -230,7 +232,7 @@ void FunctionArgumentWidget::showFunctionHint(Function *functionSymbol,
     m_popupFrame->move(pos);
     m_popupFrame->show();
 
-    QCoreApplication::instance()->installEventFilter(this);
+    qApp->installEventFilter(this);
 }
 
 void FunctionArgumentWidget::update()