This is either a bug or a misunderstanding of how this command should work.
When you match properties of a surface to another surface, it correctly matchs the layer, the display color (even if it is byLayer or byParent), the thickness, when of course you chose to do so…
… Except the material. Strangely when you match the material, if the source object is byLayer or byParent, it matchs to the material itself. i.e. if the source object ha material byLayer and the layer material is set to stone, then the material of the object will be stone (and not by Layer as expected).
Can you fix this? I just lost a lot of time reapplying Material byLayer and byParent to a bunch of surfaces.