diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp
index 448ab814864baeaa522d1b0926053b997d739716..c21a5948d3c3f84fe554920f424f85e91eb7b149 100644
--- a/src/plugins/cppeditor/cppeditor.cpp
+++ b/src/plugins/cppeditor/cppeditor.cpp
@@ -1563,11 +1563,14 @@ void CPPEditor::indent(QTextDocument *doc, const QTextCursor &cursor, QChar type
         CppTools::QtStyleCodeFormatter codeFormatter = setupCodeFormatter(ts);
         codeFormatter.updateStateUntil(block);
 
+        QTextCursor tc = textCursor();
+        tc.beginEditBlock();
         do {
             ts.indentLine(block, codeFormatter.indentFor(block));
             codeFormatter.updateLineStateChange(block);
             block = block.next();
         } while (block.isValid() && block != end);
+        tc.endEditBlock();
     } else {
         indentBlock(doc, cursor.block(), typedChar);
     }