Index: bp-core-adminbar.php
===================================================================
--- bp-core-adminbar.php	(revision 658)
+++ bp-core-adminbar.php	(working copy)
@@ -75,7 +75,12 @@
 	
 		$alt = ( $counter % 2 == 0 ) ? ' class="alt"' : '';
 	
-		echo '<li' . $alt . '><a id="logout" href="' . site_url() . '/wp-login.php?action=logout">' . __('Log Out', 'buddypress') . '</a></li>';
+		if ( function_exists('wp_logout_url') ) {
+			echo '<li' . $alt . '><a id="logout" href="' . wp_logout_url(site_url()) . '">' . __( 'Log Out', 'buddypress' ) . '</a></li>';			
+		} else { 
+			echo '<li' . $alt . '><a id="logout" href="' . site_url() . '/wp-login.php?action=logout&amp;redirect_to=' . site_url() . '">' . __( 'Log Out', 'buddypress' ) . '</a></li>';
+		}
+
 		echo '</ul>';
 		echo '</li>';
 	}
@@ -83,6 +88,8 @@
 
 // return a string indicating user's role in that blog
 function get_blog_role_for_user( $user, $blog ) {
+	if (is_site_admin() ) return __( 'Admin', 'buddypress'); // roles get confused with site admin
+	
 	$roles = get_usermeta( $user, 'wp_' . $blog . '_capabilities' );
 
 	if ( isset( $roles['subscriber'] ) )
@@ -96,7 +103,7 @@
 	elseif ( isset( $roles['administrator'] ) )
 		$role = __( 'Admin', 'buddypress' );
 	else
-		return false;
+		$role = ""; // we wouldn't be checking if there wasn't a user rec on this blog but ...
 	
 	return $role;
 }
