diff --git a/src/libs/qmljs/qmljshighlighter.cpp b/src/libs/qmljs/qmljshighlighter.cpp
index 6e5a2e99f352fa6e3b221dcc779a56d0e1e391f9..9c225e3e3a2be68bdce0041481ec84189f11e1e1 100644
--- a/src/libs/qmljs/qmljshighlighter.cpp
+++ b/src/libs/qmljs/qmljshighlighter.cpp
@@ -161,9 +161,8 @@ void QScriptHighlighter::highlightBlock(const QString &text)
     else if (text.length() > lastEnd)
         setFormat(lastEnd, text.length() - lastEnd, m_formats[VisualWhitespace]);
 
-    onBlockEnd(m_scanner.endState(), firstNonSpace);
-
     setCurrentBlockState(m_scanner.endState());
+    onBlockEnd(m_scanner.endState(), firstNonSpace);
 }
 
 void QScriptHighlighter::setFormats(const QVector<QTextCharFormat> &s)