diff --git a/src/plugins/cpptools/cpptoolseditorsupport.cpp b/src/plugins/cpptools/cpptoolseditorsupport.cpp
index 4932b21e9a646620be05a4ab609af56551b6f87c..e2c33c8ddae9ddec682af2d97eb2424801488442 100644
--- a/src/plugins/cpptools/cpptoolseditorsupport.cpp
+++ b/src/plugins/cpptools/cpptoolseditorsupport.cpp
@@ -541,6 +541,7 @@ void CppEditorSupport::recalculateSemanticInfoNow(const SemanticInfo::Source &so
         semanticInfo.forced = source.force;
 
         if (!source.force
+                && m_lastSemanticInfo.complete
                 && m_lastSemanticInfo.revision == source.revision
                 && m_lastSemanticInfo.doc
                 && m_lastSemanticInfo.doc->translationUnit()->ast()