SetSkin on SetRenderOrigin/SetRenderAngles ClientsideModel doesn't appear to work?

Does anyone know how to set the skin on a ClientsideModel which was rendered multiple times using SetRenderOrigin/SetRenderAngles? Is there some trick to it, such as SetRenderSkin, which I’m not aware of as using ClientsideModel:SetSkin( x ) does not work when using this:

[lua]function RenderClientsideModel( model, skin, pos, ang )
local _model = GetClientsideModel( model ); // Custom function, returns ClientsideModel

_model:SetRenderOrigin( pos );
_model:SetRenderAngles( ang );
_model:SetSkin( skin ); // Has no effect on how it renders in the world, always renders using skin 0, even when hard-coding an alternative number
_model:SetupBones( );
_model:DrawModel( );

end[/lua]

Edit: It seems as though DrawModel ignores the skin. SetSkin works as GetSkin reports the correct skin, but DrawModel ignores it completely. I may submit this as an issue if there is no solution.