diff --git a/projects/common/src/main/java/dan200/computercraft/shared/computer/core/ServerComputerRegistry.java b/projects/common/src/main/java/dan200/computercraft/shared/computer/core/ServerComputerRegistry.java index 34f76b19d..326562c7a 100644 --- a/projects/common/src/main/java/dan200/computercraft/shared/computer/core/ServerComputerRegistry.java +++ b/projects/common/src/main/java/dan200/computercraft/shared/computer/core/ServerComputerRegistry.java @@ -42,13 +42,14 @@ public ServerComputer get(int sessionId, @Nullable UUID instanceId) { } void update() { - var it = getComputers().iterator(); + var it = computersByInstanceId.values().iterator(); while (it.hasNext()) { var computer = it.next(); if (computer.hasTimedOut()) { computer.unload(); computer.onRemoved(); it.remove(); + computersByInstanceUuid.remove(computer.getInstanceUUID()); } else { computer.tickServer(); }