Index: bp-blogs.php
===================================================================
--- bp-blogs.php	(revision 2943)
+++ bp-blogs.php	(working copy)
@@ -400,16 +400,27 @@
 }
 add_action( 'wp_set_comment_status', 'bp_blogs_manage_comment', 10, 2 );
 
-function bp_blogs_add_user_to_blog( $user_id, $role, $blog_id = false ) {
-	global $current_blog;
+function bp_blogs_add_user_to_blog( $user_id, $role = false, $blog_id = false ) {
+	global $wpdb, $current_blog;
 
 	if ( empty( $blog_id ) )
 		$blog_id = $current_blog->blog_id;
 
+	if ( empty( $role ) ) {
+		$roles = get_usermeta( $user_id, $wpdb->base_prefix . $blog_id . '_capabilities' );
+		
+		if ( is_array( $roles ) )
+			$role = array_search( 1, $roles );
+		else
+			return false;
+	}
+
 	if ( $role != 'subscriber' )
 		bp_blogs_record_blog( $blog_id, $user_id, true );
 }
 add_action( 'add_user_to_blog', 'bp_blogs_add_user_to_blog', 10, 3 );
+add_action( 'profile_update', 'bp_blogs_add_user_to_blog' );
+add_action( 'user_register', 'bp_blogs_add_user_to_blog' );
 
 function bp_blogs_remove_user_from_blog( $user_id, $blog_id = false ) {
 	global $current_blog;
