Highlight fails to update when child outside adornee model

This such an oddly specific and weird bug

Create a model (1)
Put a part inside that model (1)
And create another model (2) with a part and parent it to model (1)

Now create 2 workspace models (3, 4)
And parent model (1) to model (3)

Create a highlight and set its adornee to model (1), parent doesn’t matter
Create any instance with the same name as model (2) and parent it to model (1)
Move model (2) to model (4)
The highlight will not update, as if both model (2) still was a child of model (1)


demo.rbxl (56.4 KB)


An issue with the cause being the above issue, but I cannot create a reproduction place/script

A tank gets spawned, it has a hull and chassis model under the tank model
A highlight is created with the tank as adornee
The chassis gets moved to a different parent than the tank’s (and a replacement instance gets created)
Debris:AddItem gets called on the highlight and gets destroyed after 10 seconds
The chassis appears to still be highlighted even though the highlight no longer exists


(The remaining highlight at the end of the above video is the chassis)

A workaround for this appears to be

task.delay(10, function()
	Highlight.Enabled = false
	Debris:AddItem(Highlight)
end)