Index: wp-admin/categories.php
===================================================================
--- wp-admin/categories.php	(revision 12704)
+++ wp-admin/categories.php	(working copy)
@@ -114,17 +114,15 @@
 	if ( !current_user_can('manage_categories') )
 		wp_die(__('Cheatin&#8217; uh?'));
 
-	$location = 'categories.php';
-	if ( $referer = wp_get_original_referer() ) {
-		if ( false !== strpos($referer, 'categories.php') )
-			$location = $referer;
-	}
+	$msg_nr = wp_update_category($_POST) ? 3 : 5;
 
-	if ( wp_update_category($_POST) )
-		$location = add_query_arg('message', 3, $location);
-	else
-		$location = add_query_arg('message', 5, $location);
+	$location = $base_url = admin_url('categories.php');
+	if ( $referer = wp_get_original_referer() )
+		$location = $referer;
 
+	if ( false !== strpos($location, $base_url) )
+		$location = add_query_arg('message', $msg_nr, $location);
+
 	wp_redirect($location);
 
 	exit;
