Re-applying previously spawned movable decal on bot when bot's location changing

-A bot standing at location X. Its skeletalmesh is SKE1. I spawn a movable decal on its body (and save the
spawned decal parameters (position, rotation etc…)). ALl is fine.

-Now I use setskeletalmesh() to change the bot’s skeletalmesh to SKE2. This action makes the previously spawned
decal disappear.

Use SetDecalParameters(with previously saved parameters) on SKE2 will make the previously spawned decal re-appear on
SKE2. But this way only works if the bot stands at the same location X. If the bot stands at another location
other than location X, use SetDecalParameters(with previously saved parameters) does not help.

The issue was posted on the old forum previously spawned decals on pawn to disapear after doing a setskeletalmesh() - UDK Programming and UnrealScript - Unreal Engine Forums
I followed the suggestion on that post and everything worked as expected.

But now my bot does not stay intact all the time anymore, it does not stay at the same location X anymore, so re-applying the decal (with previously saved parameters) does not work.

Could somebody please tell me if there is a way to fix the issue?

maybe see if this helps … Moving a decal in runtime? - Epic Games Forums

Thanks for the link.
I have solved the issue with decal by changing extending from decalactormovable.uc to directly decalcomponent.uc, then use AttachComponent().