Index: wp-includes/option.php
===================================================================
--- wp-includes/option.php	(revision 24974)
+++ wp-includes/option.php	(working copy)
@@ -543,31 +543,30 @@
 	if ( ! $user = wp_get_current_user() )
 		return;
 
-	if ( is_super_admin( $user->ID ) &&
-		! in_array( get_current_blog_id(), array_keys( get_blogs_of_user( $user->ID ) ) )
-		)
+	if ( is_super_admin() && ! is_user_member_of_blog() )
 		return;
 
-	$settings = get_user_option( 'user-settings', $user->ID );
+	$settings = (string) get_user_option( 'user-settings', $user->ID );
 
 	if ( isset( $_COOKIE['wp-settings-' . $user->ID] ) ) {
 		$cookie = preg_replace( '/[^A-Za-z0-9=&_]/', '', $_COOKIE['wp-settings-' . $user->ID] );
 
-		if ( ! empty( $cookie ) && strpos( $cookie, '=' ) ) {
-			if ( $cookie == $settings )
-				return;
+		// No change or both empty
+		if ( $cookie == $settings )
+			return;
 
-			$last_time = (int) get_user_option( 'user-settings-time', $user->ID );
-			$saved = isset( $_COOKIE['wp-settings-time-' . $user->ID]) ? preg_replace( '/[^0-9]/', '', $_COOKIE['wp-settings-time-' . $user->ID] ) : 0;
+		$last_time = (int) get_user_option( 'user-settings-time', $user->ID );
+		$saved = isset( $_COOKIE['wp-settings-time-' . $user->ID]) ? preg_replace( '/[^0-9]/', '', $_COOKIE['wp-settings-time-' . $user->ID] ) : 0;
 
-			if ( $saved > $last_time ) {
-				update_user_option( $user->ID, 'user-settings', $cookie, false );
-				update_user_option( $user->ID, 'user-settings-time', time() - 5, false );
-				return;
-			}
+		// The cookie is newer than the saved value. Update the user_option and leave the cookie as-is
+		if ( $saved > $last_time ) {
+			update_user_option( $user->ID, 'user-settings', $cookie, false );
+			update_user_option( $user->ID, 'user-settings-time', time() - 5, false );
+			return;
 		}
 	}
 
+	// The cookie is not set in the current browser or the saved value is newer.
 	setcookie( 'wp-settings-' . $user->ID, $settings, time() + YEAR_IN_SECONDS, SITECOOKIEPATH );
 	setcookie( 'wp-settings-time-' . $user->ID, time(), time() + YEAR_IN_SECONDS, SITECOOKIEPATH );
 	$_COOKIE['wp-settings-' . $user->ID] = $settings;
