diff --git a/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAO.java b/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAO.java
index 10a1a174d2087412e4125569a74c315c30138d63..6cdbbca3b56f5b28d2546088c12395d66ba79e71 100755
--- a/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAO.java
+++ b/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAO.java
@@ -537,16 +537,19 @@ public class LdapGroupDAO<T extends Principal> extends LdapDAO
                         {
                             try
                             {
-                                String memberGroupID = 
-                                        memberDN.getRDNString().replace("cn=", "");
                                 ldapGroup.getGroupMembers().
-                                    add(getGroup(memberGroupID));
+                                    add(getGroup(memberDN));
                             }
                             catch(GroupNotFoundException e)
                             {
                                 // ignore as we are not cleaning up
                                 // deleted groups from the group members
                             }
+                            catch (UserNotFoundException e)
+                            {
+                                throw new RuntimeException(
+                                    "BUG: group owner not found");
+                            }
                         }
                         else
                         {