Index: wp-admin/users.php
===================================================================
--- wp-admin/users.php	(revision 17312)
+++ wp-admin/users.php	(working copy)
@@ -31,10 +31,10 @@
 );
 
 if ( empty($_REQUEST) ) {
-	$referer = '<input type="hidden" name="wp_http_referer" value="'. esc_attr(stripslashes($_SERVER['REQUEST_URI'])) . '" />';
-} elseif ( isset($_REQUEST['wp_http_referer']) ) {
-	$redirect = remove_query_arg(array('wp_http_referer', 'updated', 'delete_count'), stripslashes($_REQUEST['wp_http_referer']));
-	$referer = '<input type="hidden" name="wp_http_referer" value="' . esc_attr($redirect) . '" />';
+	$referer = '<input type="hidden" name="_wp_http_referer" value="'. esc_attr(stripslashes($_SERVER['REQUEST_URI'])) . '" />';
+} elseif ( $ref = wp_get_referer() ) {
+	$redirect = remove_query_arg(array('_wp_http_referer', 'updated', 'delete_count'), stripslashes($ref));
+	$referer = '<input type="hidden" name="_wp_http_referer" value="' . esc_attr($redirect) . '" />';
 } else {
 	$redirect = 'users.php';
 	$referer = '';
Index: wp-admin/includes/class-wp-users-list-table.php
===================================================================
--- wp-admin/includes/class-wp-users-list-table.php	(revision 17312)
+++ wp-admin/includes/class-wp-users-list-table.php	(working copy)
@@ -228,7 +228,9 @@
 			if ( get_current_user_id() == $user_object->ID ) {
 				$edit_link = 'profile.php';
 			} else {
-				$edit_link = esc_url( add_query_arg( 'wp_http_referer', urlencode( esc_url( stripslashes( $_SERVER['REQUEST_URI'] ) ) ), "user-edit.php?user_id=$user_object->ID" ) );
+				$referer = defined('DOING_AJAX') ? wp_get_referer() : $_SERVER['REQUEST_URI'];
+
+				$edit_link = esc_url( add_query_arg( '_wp_http_referer', urlencode( esc_url( stripslashes( $referer ) ) ), "user-edit.php?user_id=$user_object->ID" ) );
 			}
 			$edit = "<strong><a href=\"$edit_link\">$user_object->user_login</a></strong><br />";
 
Index: wp-admin/includes/class-wp-ms-users-list-table.php
===================================================================
--- wp-admin/includes/class-wp-ms-users-list-table.php	(revision 17312)
+++ wp-admin/includes/class-wp-ms-users-list-table.php	(working copy)
@@ -174,7 +174,9 @@
 						if ( get_current_user_id() == $user->ID ) {
 							$edit_link = esc_url( network_admin_url( 'profile.php' ) );
 						} else {
-							$edit_link = esc_url( network_admin_url( add_query_arg( 'wp_http_referer', urlencode( stripslashes( $_SERVER['REQUEST_URI'] ) ), 'user-edit.php?user_id=' . $user->ID ) ) );
+							$referer = defined('DOING_AJAX') ? wp_get_referer() : $_SERVER['REQUEST_URI'];
+
+							$edit_link = esc_url( network_admin_url( add_query_arg( '_wp_http_referer', urlencode( stripslashes( $referer ) ), 'user-edit.php?user_id=' . $user->ID ) ) );
 						}
 
 						echo "<td $attributes>"; ?>
Index: wp-admin/user-edit.php
===================================================================
--- wp-admin/user-edit.php	(revision 17312)
+++ wp-admin/user-edit.php	(working copy)
@@ -9,7 +9,7 @@
 /** WordPress Administration Bootstrap */
 require_once('./admin.php');
 
-wp_reset_vars(array('action', 'redirect', 'profile', 'user_id', 'wp_http_referer'));
+wp_reset_vars(array('action', 'redirect', 'profile', 'user_id'));
 
 $user_id = (int) $user_id;
 $current_user = wp_get_current_user();
@@ -49,7 +49,7 @@
 );
 
 
-$wp_http_referer = remove_query_arg(array('update', 'delete_count'), stripslashes($wp_http_referer));
+$wp_http_referer = remove_query_arg(array('update', 'delete_count'), stripslashes(wp_get_referer()));
 
 $all_post_caps = array('posts', 'pages');
 $user_can_edit = false;
@@ -148,7 +148,7 @@
 if ( !is_wp_error( $errors ) ) {
 	$redirect = (IS_PROFILE_PAGE ? "profile.php?" : "user-edit.php?user_id=$user_id&"). "updated=true";
 	if ( $wp_http_referer )
-		$redirect = add_query_arg('wp_http_referer', urlencode($wp_http_referer), $redirect);
+		$redirect = add_query_arg('_wp_http_referer', urlencode($wp_http_referer), $redirect);
 	wp_redirect($redirect);
 	exit;
 }
@@ -184,7 +184,7 @@
 <form id="your-profile" action="<?php echo esc_url( self_admin_url( IS_PROFILE_PAGE ? 'profile.php' : 'user-edit.php' ) ); ?>" method="post"<?php do_action('user_edit_form_tag'); ?>>
 <?php wp_nonce_field('update-user_' . $user_id) ?>
 <?php if ( $wp_http_referer ) : ?>
-	<input type="hidden" name="wp_http_referer" value="<?php echo esc_url($wp_http_referer); ?>" />
+	<input type="hidden" name="_wp_http_referer" value="<?php echo esc_url($wp_http_referer); ?>" />
 <?php endif; ?>
 <p>
 <input type="hidden" name="from" value="profile" />
