diff --git a/client/src/com/mirth/connect/client/ui/DashboardTreeTableModel.java b/client/src/com/mirth/connect/client/ui/DashboardTreeTableModel.java index a30361d96..3f1471cbe 100644 --- a/client/src/com/mirth/connect/client/ui/DashboardTreeTableModel.java +++ b/client/src/com/mirth/connect/client/ui/DashboardTreeTableModel.java @@ -498,13 +498,14 @@ private void updateChannelNodes(List statuses, MutableTreeTable } private void updateChannelNodes(Map statusMap, List statuses, MutableTreeTableNode parent) { + Set matched = new HashSet<>(); for (int i = 0; i < parent.getChildCount(); i++) { AbstractDashboardTableNode node = (AbstractDashboardTableNode) parent.getChildAt(i); if (statusMap.containsKey(node.getDashboardStatus().getKey())) { // Remove channels that do exist from the list of statuses so they will not be added again later. DashboardStatus status = statusMap.get(node.getDashboardStatus().getKey()); - statuses.remove(status); + matched.add(status); // Update the channel status node.setDashboardStatus(status); modelSupport.firePathChanged(new TreePath(getPathToRoot(node))); @@ -513,6 +514,7 @@ private void updateChannelNodes(Map statusMap, List statuses, MutableTreeTableNode root) {