diff --git a/info.textgrid.middleware.tgauth.webauth/WebAuthN/PutAttributes.php b/info.textgrid.middleware.tgauth.webauth/WebAuthN/PutAttributes.php
index 26815aa26f9d0f3f3fe00fddb48174accdef9677..56b24ee1c0506486b19d0469a29a892979272d51 100755
--- a/info.textgrid.middleware.tgauth.webauth/WebAuthN/PutAttributes.php
+++ b/info.textgrid.middleware.tgauth.webauth/WebAuthN/PutAttributes.php
@@ -67,6 +67,11 @@ foreach ($attributes as $a) {
   }
 }
 
+$file = fopen ("/tmp/xxxUR.log", "w+");                                                                                                                                                                 
+fwrite ($file, "putting these attrs: ". serialize ($newattributes) ."\n");                                                                                                                                                           
+fclose ($file); 
+
+
 $res = $rbac->setAttributes($newattributes, $Sid, $loginmode );
 if ((is_array($res) && $res['success'] == FALSE) || (is_object($res) && $res->result == FALSE)) {
   echo "something went wrong". serialize($res);
diff --git a/info.textgrid.middleware.tgauth.webauth/WebAuthN/TextGrid-WebAuth.php b/info.textgrid.middleware.tgauth.webauth/WebAuthN/TextGrid-WebAuth.php
index e3c94bbe9763480ee86bf5c44e83355c2894ee16..42fada0d7104efaba9daac96edd468c4519604f3 100644
--- a/info.textgrid.middleware.tgauth.webauth/WebAuthN/TextGrid-WebAuth.php
+++ b/info.textgrid.middleware.tgauth.webauth/WebAuthN/TextGrid-WebAuth.php
@@ -73,11 +73,10 @@ if (isset ($_SERVER["REMOTE_USER"])) { // this holds for shib, too
 			 );
   if (!isset ($ldap)) {
     $ProvidedAttributes = Array();
-    if (isset($_SERVER["givenName"])) { $ProvidedAttributes['givenName'] = $_SERVER["givenName"];}
-    if (isset($_SERVER["sn"])) {        $ProvidedAttributes['sn']   =      $_SERVER["sn"];}       
-    if (isset($_SERVER["cn"])) {        $ProvidedAttributes['cn']   =      $_SERVER["cn"];}       
-    if (isset($_SERVER["mail"])) {      $ProvidedAttributes['mail'] =      $_SERVER["mail"];}     
-    if (isset($_SERVER["o"])) {         $ProvidedAttributes['o']    =      $_SERVER["o"];}        
+    // this is the list of attributes Shibboleth might give to us except from remote_user
+    foreach (array ("o", "sn", "givenName", "cn", "mail") as $a) {
+      if (isset($_SERVER[$a])) { $ProvidedAttributes[$a] = $_SERVER[$a];}
+    }
   }
 } 
 // This is Variant 3: No Session Creation, but just a desire to see (and update) User Attributes
@@ -85,7 +84,7 @@ else if (isset ($_REQUEST["Sid"]) && strlen($_REQUEST["Sid"]) > 0 )  {
 // we might have come directly here using the sid and use an earlier session
   $Sid = $_REQUEST["Sid"];
 } else {
-  trigger_error("WebAuth does not know what to do, exiting.", E_USER_WARNING);
+  trigger_error("WebAuth does not know what to do (no login provided, no remote user, and no session Id), exiting.", E_USER_WARNING);
   exit;
 }
 
diff --git a/info.textgrid.middleware.tgauth.webauth/tglib/WebUtils.class.php b/info.textgrid.middleware.tgauth.webauth/tglib/WebUtils.class.php
index 82943823ed21e7a59caf8272f6bc4c2bec35f313..78fedd0138631ec01971ee8c10eb89050e026f6b 100644
--- a/info.textgrid.middleware.tgauth.webauth/tglib/WebUtils.class.php
+++ b/info.textgrid.middleware.tgauth.webauth/tglib/WebUtils.class.php
@@ -178,8 +178,10 @@ class WebUtils {
       if (isset ($a->value)) {
 	$oldval = $a->value;
       }
+      $providedreadonly = "";
       if (isset($attrMap[$a->name]) && isset($providedAttrs[$attrMap[$a->name]])) {
 	$oldval = $providedAttrs[$attrMap[$a->name]];
+	$providedreadonly = " readonly=\"readonly\"";
       }
       if ($this->isBoolean ($a)) {
 	if ($oldval === "TRUE") {
@@ -203,7 +205,7 @@ class WebUtils {
 	$this->formatISO3166list( $a->name, $oldval);
 	echo "</td>\n";
       } else { // assume string
-	echo "<td><input type=\"text\" size=\"50\" name=\"". $a->name . "\" value=\"". $oldval ."\"/></td>\n";
+	echo "<td><input type=\"text\" size=\"50\" name=\"". $a->name . "\" value=\"${oldval}\"${providedreadonly}/></td>\n";
       }
       echo "<td><div onmouseover=\"this.innerHTML = '". $a->description ."'\"\n";
       echo "         onmouseout=\"this.innerHTML = '?'\"> ?</div></td></tr>\n";