diff --git a/src/plugins/cpptools/cppcompletionassist.cpp b/src/plugins/cpptools/cppcompletionassist.cpp
index b4c6da6c1f87dbf668dc002cfd3ab7a9069a4300..4eac92047d6e70a5383bbb0d21ce9d596342fc7f 100644
--- a/src/plugins/cpptools/cppcompletionassist.cpp
+++ b/src/plugins/cpptools/cppcompletionassist.cpp
@@ -748,8 +748,22 @@ bool CppCompletionAssistProcessor::accepts() const
                     const int tokenIdx = SimpleLexer::tokenBefore(tokens, qMax(0, tc.positionInBlock() - 1));
                     const Token tk = (tokenIdx == -1) ? Token() : tokens.at(tokenIdx);
 
-                    if (!tk.isComment() && !tk.isLiteral())
+                    if (!tk.isComment() && !tk.isLiteral()) {
                         return true;
+                    } else if (tk.isLiteral()
+                               && tokens.size() == 3
+                               && tokens.at(0).kind() == T_POUND
+                               && tokens.at(1).kind() == T_IDENTIFIER) {
+                        const QString &line = tc.block().text();
+                        const Token &idToken = tokens.at(1);
+                        const QStringRef &identifier =
+                                line.midRef(idToken.begin(), idToken.end() - idToken.begin());
+                        if (identifier == QLatin1String("include")
+                                || identifier == QLatin1String("include_next")
+                                || (m_objcEnabled && identifier == QLatin1String("import"))) {
+                            return true;
+                        }
+                    }
                 }
             }
         }