Index: src/wp-admin/network/site-info.php
===================================================================
--- src/wp-admin/network/site-info.php	(revision 32688)
+++ src/wp-admin/network/site-info.php	(working copy)
@@ -65,17 +65,30 @@
 	}
 	update_blog_details( $id, $blog_data );
 
-	if ( isset( $_POST['update_home_url'] ) && $_POST['update_home_url'] == 'update' ) {
-		$new_details = get_blog_details( $id, false );
-		$blog_address = esc_url_raw( $new_details->domain . $new_details->path );
-		if ( get_option( 'siteurl' ) != $blog_address ) {
-			update_option( 'siteurl', $blog_address );
-		}
-		if ( get_option( 'home' ) != $blog_address ) {
-			update_option( 'home', $blog_address );
-		}
+	// Maybe update home and siteurl options
+	$updated_details = get_blog_details( $id, false );
+
+
+	$old_home_url = esc_url_raw( trailingslashit( get_option( 'home' ) ) );
+	$old_home_scheme = parse_url( $old_home_url, PHP_URL_SCHEME );
+	$old_home_domain = parse_url( $old_home_url, PHP_URL_HOST );
+	$old_home_path   = parse_url( $old_home_url, PHP_URL_PATH );
+
+	if ( $old_home_domain === $existing_details->domain && $old_home_path === $existing_details->path ) {
+		$new_home_address = esc_url_raw( $updated_details->domain . $updated_details->path, $old_home_scheme );
+		update_option( 'home', $new_home_address );
 	}
 
+	$old_site_url = esc_url_raw( trailingslashit( get_option( 'siteurl' ) ) );
+	$old_site_scheme = parse_url( $old_site_url, PHP_URL_SCHEME );
+	$old_site_domain = parse_url( $old_site_url, PHP_URL_HOST );
+	$old_site_path   = parse_url( $old_site_url, PHP_URL_PATH );
+
+	if ( $old_site_domain === $existing_details->domain && $old_site_path === $existing_details->path ) {
+		$new_site_address = esc_url_raw( $updated_details->domain . $updated_details->path, $old_site_scheme );
+		update_option( 'siteurl', $new_site_address );
+	}
+
 	restore_current_blog();
 	wp_redirect( add_query_arg( array( 'update' => 'updated', 'id' => $id ), 'site-info.php') );
 	exit;
@@ -134,20 +147,12 @@
 		</tr>
 		<tr class="form-field form-required">
 			<?php if ( $is_main_site ) { ?>
-			<th scope="row"><?php _e( 'Path' ) ?></th>
-			<td><code><?php echo esc_attr( $details->path ) ?></code></td>
-			<?php
-			} else {
-				switch_to_blog( $id );
-			?>
-			<th scope="row"><label for="path"><?php _e( 'Path' ) ?></label></th>
-			<td>
-				<input name="blog[path]" type="text" id="path" value="<?php echo esc_attr( $details->path ) ?>" /><br />
-				<input type="checkbox" name="update_home_url" id="update_home_url" value="update" <?php if ( get_option( 'siteurl' ) == untrailingslashit( get_blogaddress_by_id ($id ) ) || get_option( 'home' ) == untrailingslashit( get_blogaddress_by_id( $id ) ) ) echo 'checked="checked"'; ?> /> <label for="update_home_url"><?php _e( 'Update <code>siteurl</code> and <code>home</code> as well.' ); ?></label>
-			</td>
-			<?php
-				restore_current_blog();
-			} ?>
+				<th scope="row"><?php _e( 'Path' ) ?></th>
+				<td><code><?php echo esc_attr( $details->path ) ?></code></td>
+			<?php } else { ?>
+				<th scope="row"><label for="path"><?php _e( 'Path' ) ?></label></th>
+				<td><input name="blog[path]" type="text" id="path" value="<?php echo esc_attr( $details->path ) ?>" /></td>
+			<?php } ?>
 		</tr>
 		<tr class="form-field">
 			<th scope="row"><label for="blog_registered"><?php _ex( 'Registered', 'site' ) ?></label></th>
