diff --git a/guacamole/src/main/frontend/src/app/client/services/guacClientManager.js b/guacamole/src/main/frontend/src/app/client/services/guacClientManager.js index e7821f220..2a0ea40b6 100644 --- a/guacamole/src/main/frontend/src/app/client/services/guacClientManager.js +++ b/guacamole/src/main/frontend/src/app/client/services/guacClientManager.js @@ -235,6 +235,15 @@ angular.module('client').factory('guacClientManager', ['$injector', */ service.getManagedClientGroup = function getManagedClientGroup(id) { + var managedClientGroups = storedManagedClientGroups(); + var existingGroup = _.find(managedClientGroups, (group) => { + return id === ManagedClientGroup.getIdentifier(group); + }); + + // Prefer to return the existing group if it exactly matches + if (existingGroup) + return existingGroup; + var clients = []; var clientIds = ManagedClientGroup.getClientIdentifiers(id); @@ -253,7 +262,6 @@ angular.module('client').factory('guacClientManager', ['$injector', clients : clients }); - var managedClientGroups = storedManagedClientGroups(); managedClientGroups.push(group); return group;