diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp
index b17a3c2a3dbde69a2cabe1a8bb57753fbbd04d1a..9cf2116abcadd59fbc3321c53c25aa0b24cfdf4f 100644
--- a/src/plugins/texteditor/basetexteditor.cpp
+++ b/src/plugins/texteditor/basetexteditor.cpp
@@ -896,15 +896,19 @@ void BaseTextEditor::joinLineUpDown(bool up)
         move.movePosition(QTextCursor::Up);
     else
         move.movePosition(QTextCursor::Down);
+
     move.movePosition(QTextCursor::StartOfBlock);
     move.movePosition(QTextCursor::EndOfBlock, QTextCursor::KeepAnchor);
     QString cutLine = move.selectedText();
+    // collapse trailing whitespaces to one or insert whitespace
+    cutLine.replace(QRegExp("^\\s*"), " ");
     move.movePosition(QTextCursor::Right, QTextCursor::KeepAnchor);
     move.removeSelectedText();
     move.clearSelection();
 
     if(!up)
         move.movePosition(QTextCursor::Up);
+
     move.movePosition(QTextCursor::EndOfBlock);
     move.insertText(cutLine);
     move.endEditBlock();