diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp
index 8fac72b95edc26ec8cee0e101ffb7ff0d02fdafd..21085093cf5ecaf48ef6c1f73479978bbd841acf 100644
--- a/src/plugins/cpptools/cppcodecompletion.cpp
+++ b/src/plugins/cpptools/cppcodecompletion.cpp
@@ -1386,6 +1386,12 @@ void CppCodeCompletion::completions(QList<TextEditor::CompletionItem> *completio
     else if (length > 0) {
         const QString key = m_editor->textAt(m_startPosition, length);
 
+        /* Close on the trailing slash for include completion, to enable the slash to
+         * trigger a new completion list. */
+        if ((m_completionOperator == T_STRING_LITERAL ||
+             m_completionOperator == T_ANGLE_STRING_LITERAL) && key.endsWith(QLatin1Char('/')))
+            return;
+
         if (m_completionOperator != T_LPAREN) {
             /*
              * This code builds a regular expression in order to more intelligently match
diff --git a/src/plugins/texteditor/completionsupport.cpp b/src/plugins/texteditor/completionsupport.cpp
index 2938ed3afeca74f8faba43fc2655cd8c3ee86809..33bfed1e9e15975d9ed008e94468b9d30bb4f0e4 100644
--- a/src/plugins/texteditor/completionsupport.cpp
+++ b/src/plugins/texteditor/completionsupport.cpp
@@ -129,7 +129,7 @@ void CompletionSupport::autoComplete_helper(ITextEditable *editor, bool forced,
         m_startPosition = m_completionCollector->startCompletion(editor);
         completionItems = getCompletions();
 
-        QTC_ASSERT(m_startPosition != -1 || completionItems.size() == 0, return);
+        QTC_ASSERT(!(m_startPosition == -1 && completionItems.size() > 0), return);
 
         if (completionItems.isEmpty()) {
             cleanupCompletions();