diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index 3341c05da97..8437c9924f3 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -1161,8 +1161,10 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe null, null, null); } - Pair, Integer> otherHosts = new Pair, Integer>(allHosts, - new Integer(allHosts.size())); + //'otherHosts' must use the current value of allHosts as allHosts may get modified later in the allocator + List allHostsCpy = new ArrayList(allHosts); + Pair, Integer> otherHosts = new Pair, Integer>(allHostsCpy, + new Integer(allHostsCpy.size())); List suitableHosts = new ArrayList(); ExcludeList excludes = new ExcludeList(); excludes.addHost(srcHostId);