Index: scribus/pageitem.cpp
===================================================================
--- scribus/pageitem.cpp	(Revision 26464)
+++ scribus/pageitem.cpp	(Arbeitskopie)
@@ -6164,7 +6164,7 @@
 		fill_gradient = is->getOldState();
 	else
 		fill_gradient = is->getNewState();
-	if (gradientType() == 13)
+	if (gradientType() == Gradient_Conical)
 		createConicalMesh();
 	update();
 }
Index: scribus/scribusdoc.cpp
===================================================================
--- scribus/scribusdoc.cpp	(Revision 26464)
+++ scribus/scribusdoc.cpp	(Arbeitskopie)
@@ -8329,7 +8329,10 @@
 	for (int i = 0; i < selectedItemCount; ++i)
 	{
 		PageItem* currItem = itemSelection->itemAt(i);
-		currItem->setGradientType(typ);
+
+		int oldType = currItem->gradientType();
+
+		currItem->setGradientType(typ);		
 		switch (currItem->gradientType())
 		{
 			case Gradient_None:
@@ -8391,6 +8394,12 @@
 			currItem->updateGradientVectors();
 		if (currItem->gradientType() == Gradient_Conical)
 			currItem->createConicalMesh();
+
+		// 17332: Conical gradient and mesh gradient are sharing the same meshGradientArray.
+		// We have to reset the array for mesh gradient to avoid a resue of the "fake" colors of the conical gradient
+		if (currItem->gradientType() == Gradient_Mesh && oldType == Gradient_Conical)
+			currItem->createGradientMesh(2, 2);
+
 		currItem->update();
 	}
 

