Widget being destroyed outside of canvas bounds

I’ve got an on-screen widget that is meant to track an actor in the scene, it’s an order icon above someone’s head in a top-down Overcooked-ish game

image

The widget is fairly simple, it’s a sizebox > overlay > image. It’s added to the HUD widget (with canvas) like this:

And then it updates it’s own position on tick like this:

The problem is that as soon as it goes off-screen, Slate appears to be removing it for some reason. The only related error I can find in the log is this:

“LogSlate: Warning: Slate: Had to block on waiting for a draw buffer”

If I use the same code directly in the HUD widget itself, I don’t have the same problem. But I want to invalidate the reference to the icon while it’s shutting down (and fading out), so I’d prefer it to be autonomous. I’ve tried adding it to the viewport as it’s own independent widget but the same thing happens.

Any ideas?