SetMaterialUsage makes redundant shader codes

SetMaterialUsage is godd logic to prevent redundant shader code.
but It has some problem.

for Example

  1. Material Amat is using some SkeletalMesh.
  2. Amat->SetMaterialUsage(MATUSAGE_SkeletalMesh)
  3. Amat makes shader codes for gpuskinning Vertex Factory.
  4. Amat is replced by Bmat, So Amat is not using for skeletalmesh no longer.
  5. Amat is using by a staticmesh.
  6. But Amat has shader codes for gpuskinning Vertex Factory.

Same situation is can be occur,
ParticleSprite,
BealTrail,
SplineMesh…

Is it Right?
And Is it Considered?

thanks