diff --git a/CHANGES.txt b/CHANGES.txt
index 119c256..8dc4b62 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -3,10 +3,6 @@
 
 ======================= Release 0.3 =====================
 
-CONNECTORS-782: Add support for GUID return value for lists
-service.
-(Dmitry Goldenberg, Karl Wright)
-
 CONNECTORS-772: SharePoint on AWS does not permit using the
 URL to locate the site.
 (Dmitry Goldenberg, Karl Wright)
diff --git a/webservice/MCPermissions.cs b/webservice/MCPermissions.cs
index 5476be4..6ae3cb3 100644
--- a/webservice/MCPermissions.cs
+++ b/webservice/MCPermissions.cs
@@ -105,7 +105,7 @@
                         listQuery.Query = "<OrderBy Override=\"TRUE\"><FieldRef Name=\"FileRef\" /></OrderBy>";
                         listQuery.QueryThrottleMode = SPQueryThrottleOption.Override;
                         listQuery.ViewAttributes = "Scope=\"Recursive\"";
-                        listQuery.ViewFields = "<FieldRef Name='FileRef'/><FieldRef Name='ID'/><FieldRef Name='UniqueId'/>";
+                        listQuery.ViewFields = "<FieldRef Name='FileRef' />";
                         listQuery.RowLimit = 1000;
 
                         XmlDocument doc = new XmlDocument();
@@ -127,15 +127,9 @@
                                 if (counter >= startRowParam && counter < startRowParam + rowLimitParam)
                                 {
                                     XmlNode resultNode = doc.CreateElement("GetListItemsResult");
-                                    XmlAttribute urlAttribute = doc.CreateAttribute("FileRef");
-                                    urlAttribute.Value = oListItem.Url;
-                                    resultNode.Attributes.Append(urlAttribute);
-                                    XmlAttribute idAttribute = doc.CreateAttribute("ID");
-                                    idAttribute.Value = oListItem.ID.ToString();
+                                    XmlAttribute idAttribute = doc.CreateAttribute("FileRef");
+                                    idAttribute.Value = oListItem.Url;
                                     resultNode.Attributes.Append(idAttribute);
-                                    XmlAttribute uniqueIdAttribute = doc.CreateAttribute("GUID");
-                                    uniqueIdAttribute.Value = oListItem.UniqueId.ToString();
-                                    resultNode.Attributes.Append(uniqueIdAttribute);
                                     getListItemsNode.AppendChild(resultNode);
                                 }
                                 counter++;
