diff --git a/libraries/entities/src/EntityTree.cpp b/libraries/entities/src/EntityTree.cpp index 8899486dc8..794e56b262 100644 --- a/libraries/entities/src/EntityTree.cpp +++ b/libraries/entities/src/EntityTree.cpp @@ -354,11 +354,13 @@ bool EntityTree::updateEntity(EntityItemPointer entity, const EntityItemProperti // else: We assume the sender really did believe it was the simulation owner when it sent } else if (submittedID == senderID) { // the sender is trying to take or continue ownership - if (entity->getSimulatorID().isNull() || entity->getSimulatorID() == senderID) { - // the sender is taking or asserting ownership - // but we never grant priorities lower than RECRUIT + if (entity->getSimulatorID().isNull()) { + // the sender is taking ownership properties.promoteSimulationPriority(RECRUIT_SIMULATION_PRIORITY); simulationBlocked = false; + } else if (entity->getSimulatorID() == senderID) { + // the sender is asserting ownership, maybe changing priority + simulationBlocked = false; } else { // the sender is trying to steal ownership from another simulator // so we apply the rules for ownership change: