Changes to RawMesh.FaceMaterialIndices working for lods with Reduction Settings|Percent Trianles==100 only

Hi. My code here is changing indices in RawMesh.FaceMaterialIndices but to no effect. That only seems to work for LOD0 and not the other ones. Any idea why?

bool modified = false;
FRawMesh mesh;
auto& sourceModel = staticMesh->SourceModels[lod];
sourceModel.RawMeshBulkData->LoadRawMesh(mesh);

auto& faceMaterialIndices = mesh.FaceMaterialIndices;
for (int32 F = faceMaterialIndices.Num() - 1; F != -1; F--)
{
	if (faceMaterialIndices[F] == material)
	{
		faceMaterialIndices[F] = replacement;
		modified = true;
	}
}

if (modified == true)
{
	sourceModel.RawMeshBulkData->SaveRawMesh(mesh);
	staticMesh->Build();
}

Update: I tracked this issue to be triggered by changing LOD#|Reduction Settings|Percent Triangles to be something other that 100. Expectedly, MeshUtilities.cpp test just that (“ReductionSettings.PercentTriangles < 1.0f”).

staticMesh->SourceModels[lod].ReductionSettings.BaseLODModel = lod;
Case solved.