diff -urp sites/all/modules/openid_orig/openid.module sites/all/modules/openid/openid.module
--- sites/all/modules/openid_orig/openid.module	2007-05-24 11:01:22.000000000 -0400
+++ sites/all/modules/openid/openid.module	2007-07-04 22:29:40.000000000 -0400
@@ -202,7 +202,15 @@ function openid_begin($claimed_id, $retu
   
   // Now that there is an association created, move on
   // to request authentication from the IdP
-  $identity = (!empty($services[0]['delegate'])) ? $services[0]['delegate'] : $claimed_id;
+	// First check for LocalID. If not found, check for Delegate. Fall
+	// back to $claimed_id if neither is found.
+	if (!empty($services[0]['localid']))
+		$identity = $services[0]['localid'];
+	else if (!empty($services[0]['delegate']))
+		$identity = $services[0]['delegate'];
+	else
+		$identity = $claimed_id;
+	
   if (isset($services[0]['types']) && is_array($services[0]['types']) && in_array(OPENID_NS_2_0 .'/server', $services[0]['types'])) {
     $identity = 'http://openid.net/identifier_select/2.0';
   }
Only in sites/all/modules/openid/: .openid.module.swp
diff -urp sites/all/modules/openid_orig/xrds.inc sites/all/modules/openid/xrds.inc
--- sites/all/modules/openid_orig/xrds.inc	2007-05-24 11:01:20.000000000 -0400
+++ sites/all/modules/openid/xrds.inc	2007-07-04 22:16:31.000000000 -0400
@@ -65,6 +65,9 @@ function _xrds_cdata(&$parser, $data) {
     case 'XRDS/XRD/SERVICE/DELEGATE':
       $xrds_current_service['delegate'] = $data;
       break;
+		case 'XRDS/XRD/SERVICE/LOCALID':
+			$xrds_current_service['localid'] = $data;
+			break;
   }
 }
 
@@ -76,4 +79,4 @@ function _xrds_strip_namespace($name) {
   }
 
   return $name;
-}
\ No newline at end of file
+}
