diff --git a/src/plugins/qmljseditor/qmljseditorcodeformatter.cpp b/src/plugins/qmljseditor/qmljseditorcodeformatter.cpp
index 0547253553108a0188f7466e402a35286dea6bd1..ad296a74b25635397c8e61447219db6cca65718e 100644
--- a/src/plugins/qmljseditor/qmljseditorcodeformatter.cpp
+++ b/src/plugins/qmljseditor/qmljseditorcodeformatter.cpp
@@ -101,17 +101,10 @@ void QtStyleCodeFormatter::onEnter(int newState, int *indentDepth, int *savedInd
         if (parentState.type == binding_assignment)
             *savedIndentDepth = state(1).savedIndentDepth;
 
-        bool followedByData = (!lastToken && tokenAt(tokenIndex() + 1).kind != Token::Comment);
-        if (firstToken || followedByData)
+        if (firstToken)
             *savedIndentDepth = tokenPosition;
 
-        *indentDepth = *savedIndentDepth;
-
-        if (followedByData) {
-            *indentDepth = column(tokenAt(tokenIndex() + 1).begin());
-        } else {
-            *indentDepth += m_indentSize;
-        }
+        *indentDepth = *savedIndentDepth + m_indentSize;
         break;
     }
 
diff --git a/tests/auto/qml/qmleditor/qmlcodeformatter/tst_qmlcodeformatter.cpp b/tests/auto/qml/qmleditor/qmlcodeformatter/tst_qmlcodeformatter.cpp
index 4f5d8464ba4544885ff59330a8c81d64adcdc526..49c30915f3400792b022f831e259d3439acea00e 100644
--- a/tests/auto/qml/qmleditor/qmlcodeformatter/tst_qmlcodeformatter.cpp
+++ b/tests/auto/qml/qmleditor/qmlcodeformatter/tst_qmlcodeformatter.cpp
@@ -237,6 +237,7 @@ void tst_QMLCodeFormatter::arrayBinding()
          << Line("        State {")
          << Line("            y: x")
          << Line("        },")
+         << Line("        State {},")
          << Line("        State")
          << Line("        {")
          << Line("        }")
@@ -882,7 +883,7 @@ void tst_QMLCodeFormatter::expressionContinuation()
     checkIndent(data);
 }
 
-QTEST_APPLESS_MAIN(tst_CodeFormatter)
+QTEST_APPLESS_MAIN(tst_QMLCodeFormatter)
 #include "tst_qmlcodeformatter.moc"