diff --git a/src/plugins/cpptools/cppcodeformatter.cpp b/src/plugins/cpptools/cppcodeformatter.cpp
index 5d42edef6d0b3b6c9e3a489ded1159199ba60086..f0288538a1f967bb1a18f4e99876c198d0800794 100644
--- a/src/plugins/cpptools/cppcodeformatter.cpp
+++ b/src/plugins/cpptools/cppcodeformatter.cpp
@@ -427,7 +427,8 @@ void CodeFormatter::updateStateUntil(const QTextBlock &endBlock)
             break;
         if (blockData.m_blockRevision != it.revision())
             break;
-        if (previousState != blockData.m_beginState)
+        if (previousState.isEmpty() || blockData.m_beginState.isEmpty()
+                || previousState != blockData.m_beginState)
             break;
         if (loadLexerState(it) == -1)
             break;