Index: bp-core/bp-core-cssjs.php
===================================================================
--- bp-core/bp-core-cssjs.php	(revision 4487)
+++ bp-core/bp-core-cssjs.php	(working copy)
@@ -164,7 +164,7 @@
 	global $bp;
 ?>
 
-	<script type="text/javascript">var ajaxurl = "<?php echo site_url( 'wp-load.php' ); ?>";</script>
+	<script type="text/javascript">var ajaxurl = "<?php echo admin_url( 'admin-ajax.php' ) ?>";</script>
 
 <?php
 }
Index: bp-core/bp-core-functions.php
===================================================================
--- bp-core/bp-core-functions.php	(revision 4487)
+++ bp-core/bp-core-functions.php	(working copy)
@@ -867,7 +867,6 @@
 	if ( !defined( 'WP_ADMIN' ) && isset( $_REQUEST['action'] ) )
 		do_action( 'wp_ajax_' . $_REQUEST['action'] );
 }
-add_action( 'bp_init', 'bp_core_add_ajax_hook' );
 
 /**
  * When switching from single to multisite we need to copy blog options to
Index: bp-core/bp-core-widgets.php
===================================================================
--- bp-core/bp-core-widgets.php	(revision 4487)
+++ bp-core/bp-core-widgets.php	(working copy)
@@ -328,7 +328,10 @@
 		<?php _e( 'There were no members found, please try another filter.', 'buddypress' ) ?>
 		<?php echo "</li>"; ?>
 	<?php endif;
+	
+	die();
 }
 add_action( 'wp_ajax_widget_members', 'bp_core_ajax_widget_members' );
+add_action( 'wp_ajax_nopriv_widget_members', 'bp_core_ajax_widget_members' );
 
 ?>
\ No newline at end of file
Index: bp-groups/bp-groups-widgets.php
===================================================================
--- bp-groups/bp-groups-widgets.php	(revision 4487)
+++ bp-groups/bp-groups-widgets.php	(working copy)
@@ -187,6 +187,9 @@
 
 	<?php endif;
 
+	die();
 }
 add_action( 'wp_ajax_widget_groups_list', 'groups_ajax_widget_groups_list' );
+add_action( 'wp_ajax_nopriv_widget_groups_list', 'groups_ajax_widget_groups_list' );
+
 ?>
Index: bp-themes/bp-default/_inc/ajax.php
===================================================================
--- bp-themes/bp-default/_inc/ajax.php	(revision 4487)
+++ bp-themes/bp-default/_inc/ajax.php	(working copy)
@@ -18,7 +18,7 @@
 	global $bp;
 
 	if ( empty( $object ) )
-		return false;
+		die(); // return false
 
 	/* Set up the cookies passed on this AJAX request. Store a local var to avoid conflicts */
 	if ( !empty( $_POST['cookie'] ) )
@@ -85,11 +85,16 @@
 function bp_dtheme_object_template_loader() {
 	$object = esc_attr( $_POST['object'] );
 	locate_template( array( "$object/$object-loop.php" ), true );
+	die();
 }
 add_action( 'wp_ajax_members_filter', 'bp_dtheme_object_template_loader' );
 add_action( 'wp_ajax_groups_filter', 'bp_dtheme_object_template_loader' );
 add_action( 'wp_ajax_blogs_filter', 'bp_dtheme_object_template_loader' );
 add_action( 'wp_ajax_forums_filter', 'bp_dtheme_object_template_loader' );
+add_action( 'wp_ajax_nopriv_members_filter', 'bp_dtheme_object_template_loader' );
+add_action( 'wp_ajax_nopriv_groups_filter', 'bp_dtheme_object_template_loader' );
+add_action( 'wp_ajax_nopriv_blogs_filter', 'bp_dtheme_object_template_loader' );
+add_action( 'wp_ajax_nopriv_forums_filter', 'bp_dtheme_object_template_loader' );
 
 // This function will load the activity loop template when activity is requested via AJAX
 function bp_dtheme_activity_template_loader() {
@@ -127,9 +132,12 @@
 	ob_end_clean();
 
 	echo json_encode( $result );
+	die();
 }
 add_action( 'wp_ajax_activity_widget_filter', 'bp_dtheme_activity_template_loader' );
 add_action( 'wp_ajax_activity_get_older_updates', 'bp_dtheme_activity_template_loader' );
+add_action( 'wp_ajax_nopriv_activity_widget_filter', 'bp_dtheme_activity_template_loader' );
+add_action( 'wp_ajax_nopriv_activity_get_older_updates', 'bp_dtheme_activity_template_loader' );
 
 /* AJAX update posting */
 function bp_dtheme_post_update() {
@@ -138,14 +146,9 @@
 	// Check the nonce
 	check_admin_referer( 'post_update', '_wpnonce_post_update' );
 
-	if ( !is_user_logged_in() ) {
-		echo '-1';
-		return false;
-	}
-
 	if ( empty( $_POST['content'] ) ) {
 		echo '-1<div id="message" class="error"><p>' . __( 'Please enter some content to post.', 'buddypress' ) . '</p></div>';
-		return false;
+		die(); // return false
 	}
 
 	$activity_id = 0;
@@ -162,7 +165,7 @@
 
 	if ( empty( $activity_id ) ) {
 		echo '-1<div id="message" class="error"><p>' . __( 'There was a problem posting your update, please try again.', 'buddypress' ) . '</p></div>';
-		return false;
+		die(); // return false
 	}
 
 	if ( bp_has_activities ( 'include=' . $activity_id ) ) : ?>
@@ -170,6 +173,8 @@
 			<?php locate_template( array( 'activity/entry.php' ), true ) ?>
 		<?php endwhile; ?>
 	 <?php endif;
+
+	die();
 }
 add_action( 'wp_ajax_post_update', 'bp_dtheme_post_update' );
 
@@ -180,19 +185,14 @@
 	/* Check the nonce */
 	check_admin_referer( 'new_activity_comment', '_wpnonce_new_activity_comment' );
 
-	if ( !is_user_logged_in() ) {
-		echo '-1';
-		return false;
-	}
-
 	if ( empty( $_POST['content'] ) ) {
 		echo '-1<div id="message" class="error"><p>' . __( 'Please do not leave the comment area blank.', 'buddypress' ) . '</p></div>';
-		return false;
+		die(); // return false
 	}
 
 	if ( empty( $_POST['form_id'] ) || empty( $_POST['comment_id'] ) || !is_numeric( $_POST['form_id'] ) || !is_numeric( $_POST['comment_id'] ) ) {
 		echo '-1<div id="message" class="error"><p>' . __( 'There was an error posting that reply, please try again.', 'buddypress' ) . '</p></div>';
-		return false;
+		die(); // return false
 	}
 
 	$comment_id = bp_activity_new_comment( array(
@@ -203,7 +203,7 @@
 
 	if ( !$comment_id ) {
 		echo '-1<div id="message" class="error"><p>' . __( 'There was an error posting that reply, please try again.', 'buddypress' ) . '</p></div>';
-		return false;
+		die(); // return false
 	}
 
 	if ( bp_has_activities ( 'display_comments=stream&include=' . $comment_id ) ) : ?>
@@ -225,6 +225,8 @@
 			</li>
 		<?php endwhile; ?>
 	 <?php endif;
+
+	die();
 }
 add_action( 'wp_ajax_new_activity_comment', 'bp_dtheme_new_activity_comment' );
 
@@ -235,31 +237,26 @@
 	// Check the nonce
 	check_admin_referer( 'bp_activity_delete_link' );
 
-	if ( !is_user_logged_in() ) {
-		echo '-1';
-		return false;
-	}
-
 	if ( empty( $_POST['id'] ) || !is_numeric( $_POST['id'] ) )
-		return false;
+		die(); // return false
 
 	$activity = new BP_Activity_Activity( (int) $_POST['id'] );
 
 	// Check access
 	if ( !bp_activity_user_can_delete() )
-		return false;
+		die(); // return false
 
 	// Call the action before the delete so plugins can still fetch information about it
 	do_action( 'bp_activity_before_action_delete_activity', $activity->id, $activity->user_id );
 
 	if ( !bp_activity_delete( array( 'id' => $activity->id, 'user_id' => $activity->user_id ) ) ) {
 		echo '-1<div id="message" class="error"><p>' . __( 'There was a problem when deleting. Please try again.', 'buddypress' ) . '</p></div>';
-		return false;
+		die(); // return false
 	}
 	
 	do_action( 'bp_activity_action_delete_activity', $activity->id, $activity->user_id );
 
-	return true;
+	die(); // return true
 }
 add_action( 'wp_ajax_delete_activity', 'bp_dtheme_delete_activity' );
 
@@ -270,49 +267,42 @@
 	/* Check the nonce */
 	check_admin_referer( 'bp_activity_delete_link' );
 
-	if ( !is_user_logged_in() ) {
-		echo '-1';
-		return false;
-	}
-
 	$comment = new BP_Activity_Activity( $_POST['id'] );
 
 	/* Check access */
 	if ( !is_super_admin() && $comment->user_id != $bp->loggedin_user->id )
-		return false;
+		die(); // return false
 
 	if ( empty( $_POST['id'] ) || !is_numeric( $_POST['id'] ) )
-		return false;
+		die(); // return false
 
 	/* Call the action before the delete so plugins can still fetch information about it */
 	do_action( 'bp_activity_before_action_delete_activity', $_POST['id'], $comment->user_id );
 
 	if ( !bp_activity_delete_comment( $comment->item_id, $comment->id ) ) {
 		echo '-1<div id="message" class="error"><p>' . __( 'There was a problem when deleting. Please try again.', 'buddypress' ) . '</p></div>';
-		return false;
+		die(); // return false
 	}
 
 	do_action( 'bp_activity_action_delete_activity', $_POST['id'], $comment->user_id );
 
-	return true;
+	die(); // return true
 }
 add_action( 'wp_ajax_delete_activity_comment', 'bp_dtheme_delete_activity_comment' );
 
 /* AJAX mark an activity as a favorite */
 function bp_dtheme_mark_activity_favorite() {
-	global $bp;
-
 	bp_activity_add_user_favorite( $_POST['id'] );
 	_e( 'Remove Favorite', 'buddypress' );
+	die();
 }
 add_action( 'wp_ajax_activity_mark_fav', 'bp_dtheme_mark_activity_favorite' );
 
 /* AJAX mark an activity as not a favorite */
 function bp_dtheme_unmark_activity_favorite() {
-	global $bp;
-
 	bp_activity_remove_user_favorite( $_POST['id'] );
 	_e( 'Favorite', 'buddypress' );
+	die();
 }
 add_action( 'wp_ajax_activity_mark_unfav', 'bp_dtheme_unmark_activity_favorite' );
 
@@ -351,18 +341,18 @@
 	check_ajax_referer( 'groups_invite_uninvite_user' );
 
 	if ( !$_POST['friend_id'] || !$_POST['friend_action'] || !$_POST['group_id'] )
-		return false;
+		die(); // return false
 
 	if ( !groups_is_user_admin( $bp->loggedin_user->id, $_POST['group_id'] ) )
-		return false;
+		die(); // return false
 
 	if ( !friends_check_friendship( $bp->loggedin_user->id, $_POST['friend_id'] ) )
-		return false;
+		die(); // return false
 
 	if ( 'invite' == $_POST['friend_action'] ) {
 
 		if ( !groups_invite_user( array( 'user_id' => $_POST['friend_id'], 'group_id' => $_POST['group_id'] ) ) )
-			return false;
+			die(); // return false
 
 		$user = new BP_Core_User( $_POST['friend_id'] );
 
@@ -378,12 +368,12 @@
 	} else if ( 'uninvite' == $_POST['friend_action'] ) {
 
 		if ( !groups_uninvite_user( $_POST['friend_id'], $_POST['group_id'] ) )
-			return false;
+			die(); // return false
 
-		return true;
+		die(); // return true
 
 	} else {
-		return false;
+		die(); // return false
 	}
 }
 add_action( 'wp_ajax_groups_invite_user', 'bp_dtheme_ajax_invite_user' );
@@ -415,7 +405,7 @@
 		echo __( 'Request Pending', 'buddypress' );
 	}
 
-	return false;
+	die(); // return false
 }
 add_action( 'wp_ajax_addremove_friend', 'bp_dtheme_ajax_addremove_friend' );
 
@@ -426,7 +416,7 @@
 	if ( !friends_accept_friendship( $_POST['id'] ) )
 		echo "-1<div id='message' class='error'><p>" . __( 'There was a problem accepting that request. Please try again.', 'buddypress' ) . '</p></div>';
 
-	return true;
+	die(); // return true
 }
 add_action( 'wp_ajax_accept_friendship', 'bp_dtheme_ajax_accept_friendship' );
 
@@ -437,7 +427,7 @@
 	if ( !friends_reject_friendship( $_POST['id'] ) )
 		echo "-1<div id='message' class='error'><p>" . __( 'There was a problem rejecting that request. Please try again.', 'buddypress' ) . '</p></div>';
 
-	return true;
+	die(); // return true
 }
 add_action( 'wp_ajax_reject_friendship', 'bp_dtheme_ajax_reject_friendship' );
 
@@ -446,10 +436,10 @@
 	global $bp;
 
 	if ( groups_is_user_banned( $bp->loggedin_user->id, $_POST['gid'] ) )
-		return false;
+		die(); // return false
 
 	if ( !$group = new BP_Groups_Group( $_POST['gid'], false, false ) )
-		return false;
+		die(); // return false
 
 	if ( !groups_is_user_member( $bp->loggedin_user->id, $group->id ) ) {
 
@@ -488,6 +478,8 @@
 			}
 		}
 	}
+
+	die();
 }
 add_action( 'wp_ajax_joinleave_group', 'bp_dtheme_ajax_joinleave_group' );
 
@@ -504,6 +496,8 @@
 
 		update_user_meta( $userdata->ID, bp_get_user_meta_key( 'closed_notices' ), $notice_ids );
 	}
+
+	die();
 }
 add_action( 'wp_ajax_messages_close_notice', 'bp_dtheme_ajax_close_notice' );
 
@@ -540,13 +534,13 @@
 	} else {
 		echo "-1<div id='message' class='error'><p>" . __( 'There was a problem sending that reply. Please try again.', 'buddypress' ) . '</p></div>';
 	}
+
+	die();
 }
 add_action( 'wp_ajax_messages_send_reply', 'bp_dtheme_ajax_messages_send_reply' );
 
 /* AJAX mark a private message as unread in your inbox */
 function bp_dtheme_ajax_message_markunread() {
-	global $bp;
-
 	if ( !isset($_POST['thread_ids']) ) {
 		echo "-1<div id='message' class='error'><p>" . __('There was a problem marking messages as unread.', 'buddypress' ) . '</p></div>';
 	} else {
@@ -556,13 +550,13 @@
 			BP_Messages_Thread::mark_as_unread($thread_ids[$i]);
 		}
 	}
+
+	die();
 }
 add_action( 'wp_ajax_messages_markunread', 'bp_dtheme_ajax_message_markunread' );
 
 /* AJAX mark a private message as read in your inbox */
 function bp_dtheme_ajax_message_markread() {
-	global $bp;
-
 	if ( !isset($_POST['thread_ids']) ) {
 		echo "-1<div id='message' class='error'><p>" . __('There was a problem marking messages as read.', 'buddypress' ) . '</p></div>';
 	} else {
@@ -572,13 +566,13 @@
 			BP_Messages_Thread::mark_as_read($thread_ids[$i]);
 		}
 	}
+
+	die();
 }
 add_action( 'wp_ajax_messages_markread', 'bp_dtheme_ajax_message_markread' );
 
 /* AJAX delete a private message or array of messages in your inbox */
 function bp_dtheme_ajax_messages_delete() {
-	global $bp;
-
 	if ( !isset($_POST['thread_ids']) ) {
 		echo "-1<div id='message' class='error'><p>" . __( 'There was a problem deleting messages.', 'buddypress' ) . '</p></div>';
 	} else {
@@ -589,6 +583,8 @@
 
 		_e('Messages deleted.', 'buddypress');
 	}
+
+	die();
 }
 add_action( 'wp_ajax_messages_delete', 'bp_dtheme_ajax_messages_delete' );
 
@@ -653,6 +649,8 @@
 			';
 		}
 	}
+
+	die();
 }
 add_action( 'wp_ajax_messages_autocomplete_results', 'bp_dtheme_ajax_messages_autocomplete_results' );
 
Index: bp-xprofile/bp-xprofile-admin.php
===================================================================
--- bp-xprofile/bp-xprofile-admin.php	(revision 4487)
+++ bp-xprofile/bp-xprofile-admin.php	(working copy)
@@ -313,8 +313,6 @@
  Handles the ajax reordering of fields within a group
 **************************************************************************/
 function xprofile_ajax_reorder_fields() {
-	global $bp;
-
 	// Check the nonce
 	check_admin_referer( 'bp_reorder_fields', '_wpnonce_reorder_fields' );
 
@@ -327,6 +325,7 @@
 	foreach ( (array) $order['field'] as $position => $field_id )
 		xprofile_update_field_position( (int) $field_id, (int) $position, (int) $field_group_id );
 
+	die();
 }
 add_action( 'wp_ajax_xprofile_reorder_fields', 'xprofile_ajax_reorder_fields' );
 
@@ -336,8 +335,6 @@
  Handles the reordering of field groups
 **************************************************************************/
 function xprofile_ajax_reorder_field_groups() {
-	global $bp;
-
 	// Check the nonce
 	check_admin_referer( 'bp_reorder_groups', '_wpnonce_reorder_groups' );
 
@@ -349,6 +346,7 @@
 	foreach ( (array) $order['group'] as $position => $field_group_id )
 		xprofile_update_field_group_position( (int) $field_group_id, (int) $position );
 
+	die();
 }
 add_action( 'wp_ajax_xprofile_reorder_groups', 'xprofile_ajax_reorder_field_groups' );
 
