diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp
index 211ec084e693e814a73e603a703a068f526c9454..bc324f9451377d32f7513bca2cc0e4c48da3bde9 100644
--- a/src/plugins/cpptools/cppcodecompletion.cpp
+++ b/src/plugins/cpptools/cppcodecompletion.cpp
@@ -523,7 +523,8 @@ static int startOfOperator(TextEditor::ITextEditable *editor,
                 if (i == 0) // no token on the left, but might be on a previous line
                     break;
                 const SimpleToken &previousToken = tokens.at(i - 1);
-                if (previousToken.is(T_IDENTIFIER) || previousToken.is(T_GREATER))
+                if (previousToken.is(T_IDENTIFIER) || previousToken.is(T_GREATER)
+                    || previousToken.is(T_SIGNAL) || previousToken.is(T_SLOT))
                     break;
             }
         }