diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp
index e4489414797a0e5a4767afdfdaae657a7df4929d..1599e6790ddb3d6c609ef345577e8e555ffc998c 100644
--- a/src/plugins/texteditor/basetexteditor.cpp
+++ b/src/plugins/texteditor/basetexteditor.cpp
@@ -2569,7 +2569,7 @@ void BaseTextEditor::paintEvent(QPaintEvent *e)
 
             if (TextEditDocumentLayout::ifdefedOut(block)) {
                 QRectF rr = r;
-                rr.setWidth(viewport()->width());
+                rr.setRight(viewportRect.width() - offset.x());
                 if (lineX > 0)
                     rr.setRight(qMin(lineX, rr.right()));
                 painter.fillRect(rr, d->m_ifdefedOutFormat.background());