This ended up being that the demolisher was indeed contesting the payload. I’ve added a thing that updates the pointer to the payload when that happens with “contested!” to make it more clear when that’s happening.