diff --git a/projects/cadcAccessControl/src/ca/nrc/cadc/ac/client/GMSClient.java b/projects/cadcAccessControl/src/ca/nrc/cadc/ac/client/GMSClient.java
index 468b5db3ba49340fd63e1787c07d0c671f8bff61..6dabcac0f10cdd1e2ba55c1d63c4d426740a1e3b 100755
--- a/projects/cadcAccessControl/src/ca/nrc/cadc/ac/client/GMSClient.java
+++ b/projects/cadcAccessControl/src/ca/nrc/cadc/ac/client/GMSClient.java
@@ -78,6 +78,7 @@ import java.net.HttpURLConnection;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLEncoder;
+import java.nio.charset.Charset;
 import java.security.AccessControlContext;
 import java.security.AccessControlException;
 import java.security.AccessController;
@@ -313,15 +314,13 @@ public class GMSClient
         URL getGroupNamesURL = new URL(this.baseURL + "/groups");
         log.debug("getGroupNames request to " + getGroupNamesURL.toString());
         
-        HttpURLConnection conn = 
-                (HttpURLConnection) getGroupNamesURL.openConnection();
+        HttpURLConnection conn = (HttpURLConnection) getGroupNamesURL.openConnection();
         conn.setRequestMethod("GET");
 
         SSLSocketFactory sf = getSSLSocketFactory();
         if ((sf != null) && ((conn instanceof HttpsURLConnection)))
         {
-            ((HttpsURLConnection) conn)
-                    .setSSLSocketFactory(sf);
+            ((HttpsURLConnection) conn).setSSLSocketFactory(sf);
         }
         int responseCode = -1;
         try
@@ -332,11 +331,12 @@ public class GMSClient
         {
             throw new AccessControlException(e.getMessage());
         }
+        log.debug("getGroupNames response " + responseCode);
         
         if (responseCode != 200)
         {
             String errMessage = NetUtil.getErrorBody(conn);
-            log.debug("deleteGroup response " + responseCode + ": " + 
+            log.debug("getGroupNames response " + responseCode + ": " +
                       errMessage);
 
             if ((responseCode == 401) || (responseCode == 403) || 
@@ -351,16 +351,19 @@ public class GMSClient
             throw new IOException("HttpResponse (" + responseCode + ") - " + errMessage);
         }
 
+        log.error("Content-Length: " + conn.getHeaderField("Content-Length"));
+        log.error("Content-Type: " + conn.getHeaderField("Content-Type"));
+
         try
         {
             List<String> groupNames = new ArrayList<String>();
-            Reader ioReader = new InputStreamReader(conn.getInputStream());
-            BufferedReader br = new BufferedReader(ioReader);
-            CsvReader reader = new CsvReader(br);
-            
-            for (int i=0; i<reader.getColumnCount(); i++)
+            CsvReader reader = new CsvReader(conn.getInputStream(), ',', Charset.forName("UTF-8"));
+            if (reader.readRecord())
             {
-                groupNames.add(reader.get(i));
+                for (int i = 0; i < reader.getColumnCount(); i++)
+                {
+                    groupNames.add(reader.get(i));
+                }
             }
             
             return groupNames;