diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp
index cf01da50c191a8aa98761d187aa144833eab951b..b9ced9c9a416a9e8ae0ea9af3b93d446e53a6a24 100644
--- a/src/plugins/texteditor/basetexteditor.cpp
+++ b/src/plugins/texteditor/basetexteditor.cpp
@@ -3656,11 +3656,10 @@ void BaseTextEditor::indentOrUnindent(bool doIndent)
         int spaces = tabSettings.spacesLeftFromPosition(text, indentPosition);
         int startColumn = tabSettings.columnAt(text, indentPosition - spaces);
         int targetColumn = tabSettings.indentedColumn(tabSettings.columnAt(text, indentPosition), doIndent);
-
         cursor.setPosition(block.position() + indentPosition);
         cursor.setPosition(block.position() + indentPosition - spaces, QTextCursor::KeepAnchor);
         cursor.removeSelectedText();
-        cursor.insertText(tabSettings.indentationString(startColumn, targetColumn));
+        cursor.insertText(tabSettings.indentationString(startColumn, targetColumn, block));
     } else {
         // Indent or unindent the selected lines
         int anchor = cursor.anchor();
@@ -3677,7 +3676,7 @@ void BaseTextEditor::indentOrUnindent(bool doIndent)
                 indentPosition = tabSettings.firstNonSpace(text);
             int targetColumn = tabSettings.indentedColumn(tabSettings.columnAt(text, indentPosition), doIndent);
             cursor.setPosition(block.position() + indentPosition);
-            cursor.insertText(tabSettings.indentationString(0, targetColumn));
+            cursor.insertText(tabSettings.indentationString(0, targetColumn, block));
             cursor.setPosition(block.position());
             cursor.setPosition(block.position() + indentPosition, QTextCursor::KeepAnchor);
             cursor.removeSelectedText();
@@ -5006,7 +5005,7 @@ void BaseTextEditor::rewrapParagraph()
     QString spacing;
 
     if (commonPrefix.isEmpty()) {
-        spacing = tabSettings().indentationString(0, indentLevel);
+        spacing = tabSettings().indentationString(0, indentLevel, textCursor().block());
     } else {
         spacing = commonPrefix;
         indentLevel = commonPrefix.length();
diff --git a/src/plugins/texteditor/tabsettings.h b/src/plugins/texteditor/tabsettings.h
index 66a45c76368f414bd80a2ddceb36bb687eb89cea..d6bd2b0afebd27f12f484ff3333826bf4a96d938 100644
--- a/src/plugins/texteditor/tabsettings.h
+++ b/src/plugins/texteditor/tabsettings.h
@@ -62,7 +62,7 @@ struct TEXTEDITOR_EXPORT TabSettings
     int columnAt(const QString &text, int position) const;
     int spacesLeftFromPosition(const QString &text, int position) const;
     int indentedColumn(int column, bool doIndent = true) const;
-    QString indentationString(int startColumn, int targetColumn, const QTextBlock& block = QTextBlock()) const;
+    QString indentationString(int startColumn, int targetColumn, const QTextBlock& currentBlock = QTextBlock()) const;
     QString indentationString(const QString &text) const;
     int indentationColumn(const QString &text) const;