diff -Nurpd a/scribus/pageitem.cpp b/scribus/pageitem.cpp
--- a/scribus/pageitem.cpp	2024-01-07 18:07:06.000000000 +0100
+++ b/scribus/pageitem.cpp	2024-01-12 10:15:21.074106187 +0100
@@ -506,6 +506,7 @@ PageItem::PageItem(ScribusDoc *doc, Item
 
 	ImageIntent = Intent_Relative_Colorimetric;
 	m_layerID = m_Doc->activeLayer();
+
 	stroke_gradient = VGradient(VGradient::linear);
 	stroke_gradient.clearStops();
 	if (m_lineColor != CommonStrings::None)
@@ -543,6 +544,7 @@ PageItem::PageItem(ScribusDoc *doc, Item
 		stroke_gradient.addStop(qcol, 0.0, 0.5, 1.0, "Black", 100);
 		stroke_gradient.addStop(qcol, 1.0, 0.5, 1.0, "Black", 100);
 	}
+
 	fill_gradient = VGradient(VGradient::linear);
 	fill_gradient.clearStops();
 	if (m_fillColor != CommonStrings::None)
@@ -550,7 +552,6 @@ PageItem::PageItem(ScribusDoc *doc, Item
 		const ScColor& col = m_Doc->PageColors[m_fillColor];
 		QColor qcol = ScColorEngine::getRGBColor(col, m_Doc);
 		fill_gradient.addStop(qcol, 0.0, 0.5, 1.0, m_fillColor, 100);
-		fill_gradient.addStop(qcol, 1.0, 0.5, 1.0, m_fillColor, 100);
 		GrColorP1 = m_fillColor;
 		GrColorP2 = m_fillColor;
 		GrColorP3 = m_fillColor;
@@ -563,7 +564,6 @@ PageItem::PageItem(ScribusDoc *doc, Item
 			const ScColor& col = m_Doc->PageColors[m_Doc->itemToolPrefs().shapeFillColor];
 			QColor qcol = ScColorEngine::getRGBColor(col, m_Doc);
 			fill_gradient.addStop(qcol, 0.0, 0.5, 1.0, m_Doc->itemToolPrefs().shapeFillColor, 100);
-			fill_gradient.addStop(qcol, 1.0, 0.5, 1.0, m_Doc->itemToolPrefs().shapeFillColor, 100);
 			GrColorP1 = m_Doc->itemToolPrefs().shapeFillColor;
 			GrColorP2 = m_Doc->itemToolPrefs().shapeFillColor;
 			GrColorP3 = m_Doc->itemToolPrefs().shapeFillColor;
@@ -576,7 +576,6 @@ PageItem::PageItem(ScribusDoc *doc, Item
 				const ScColor& col = m_Doc->PageColors[m_lineColor];
 				QColor qcol = ScColorEngine::getRGBColor(col, m_Doc);
 				fill_gradient.addStop(qcol, 0.0, 0.5, 1.0, m_lineColor, 100);
-				fill_gradient.addStop(qcol, 1.0, 0.5, 1.0, m_lineColor, 100);
 				GrColorP1 = m_lineColor;
 				GrColorP2 = m_lineColor;
 				GrColorP3 = m_lineColor;
@@ -589,7 +588,6 @@ PageItem::PageItem(ScribusDoc *doc, Item
 					const ScColor& col = m_Doc->PageColors[m_Doc->itemToolPrefs().shapeLineColor];
 					QColor qcol = ScColorEngine::getRGBColor(col, m_Doc);
 					fill_gradient.addStop(qcol, 0.0, 0.5, 1.0, m_Doc->itemToolPrefs().shapeLineColor, 100);
-					fill_gradient.addStop(qcol, 1.0, 0.5, 1.0, m_Doc->itemToolPrefs().shapeLineColor, 100);
 					GrColorP1 = m_Doc->itemToolPrefs().shapeLineColor;
 					GrColorP2 = m_Doc->itemToolPrefs().shapeLineColor;
 					GrColorP3 = m_Doc->itemToolPrefs().shapeLineColor;
@@ -600,7 +598,6 @@ PageItem::PageItem(ScribusDoc *doc, Item
 					const ScColor& col = m_Doc->PageColors["Black"];
 					QColor qcol = ScColorEngine::getRGBColor(col, m_Doc);
 					fill_gradient.addStop(qcol, 0.0, 0.5, 1.0, "Black", 100);
-					fill_gradient.addStop(qcol, 1.0, 0.5, 1.0, "Black", 100);
 					GrColorP1 = "Black";
 					GrColorP2 = "Black";
 					GrColorP3 = "Black";
@@ -609,6 +606,10 @@ PageItem::PageItem(ScribusDoc *doc, Item
 			}
 		}
 	}
+	const ScColor& col_right = m_Doc->PageColors["White"];
+	QColor qcol_right = ScColorEngine::getRGBColor(col_right, m_Doc);
+        fill_gradient.addStop(qcol_right, 1.0, 0.5, 1.0, "White", 100);
+
 	GrMaskEndX = w;
 	mask_gradient = VGradient(VGradient::linear);
 	mask_gradient.clearStops();
