Index: wp-admin/includes/upgrade.php
===================================================================
--- wp-admin/includes/upgrade.php	(revision 18880)
+++ wp-admin/includes/upgrade.php	(working copy)
@@ -1424,9 +1424,12 @@
  * @param unknown_type $execute
  * @return unknown
  */
-function dbDelta($queries, $execute = true) {
+function dbDelta($queries = '', $execute = true) {
 	global $wpdb;
 
+	if ( empty( $queries ) )
+		$queries = get_create_table_sql();
+
 	// Separate individual queries into an array
 	if ( !is_array($queries) ) {
 		$queries = explode( ';', $queries );
@@ -1632,9 +1635,7 @@
  * @since 1.5.0
  */
 function make_db_current() {
-	global $wp_queries;
-
-	$alterations = dbDelta($wp_queries);
+	$alterations = dbDelta();
 	echo "<ol>\n";
 	foreach($alterations as $alteration) echo "<li>$alteration</li>\n";
 	echo "</ol>\n";
@@ -1648,9 +1649,7 @@
  * @since 1.5.0
  */
 function make_db_current_silent() {
-	global $wp_queries;
-
-	$alterations = dbDelta($wp_queries);
+	$alterations = dbDelta();
 }
 
 /**
Index: wp-admin/includes/schema.php
===================================================================
--- wp-admin/includes/schema.php	(revision 18880)
+++ wp-admin/includes/schema.php	(working copy)
@@ -8,24 +8,22 @@
  * @subpackage Administration
  */
 
-/**
- * The database character collate.
- * @var string
- * @global string
- * @name $charset_collate
- */
-$charset_collate = '';
-
 // Declare these as global in case schema.php is included from a function.
 global $wpdb, $wp_queries;
 
-if ( ! empty($wpdb->charset) )
-	$charset_collate = "DEFAULT CHARACTER SET $wpdb->charset";
-if ( ! empty($wpdb->collate) )
-	$charset_collate .= " COLLATE $wpdb->collate";
+/** Create WordPress database tables SQL */
+function get_create_table_sql( $blog_id = null ) {
+	global $wpdb;
 
-/** Create WordPress database tables SQL */
-$wp_queries = "CREATE TABLE $wpdb->terms (
+	if ( ! empty($wpdb->charset) )
+		$charset_collate = "DEFAULT CHARACTER SET $wpdb->charset";
+	if ( ! empty($wpdb->collate) )
+		$charset_collate .= " COLLATE $wpdb->collate";
+
+	if ( $blog_id && $blog_id != $wpdb->blogid )
+		$old_blog_id = $wpdb->set_blog_id( $blog_id );
+
+	$queries = "CREATE TABLE $wpdb->terms (
  term_id bigint(20) unsigned NOT NULL auto_increment,
  name varchar(200) NOT NULL default '',
  slug varchar(200) NOT NULL default '',
@@ -174,6 +172,14 @@
   KEY meta_key (meta_key)
 ) $charset_collate;";
 
+	if ( isset( $old_blog_id ) )
+		$wpdb->set_blog_id( $old_blog_id );
+
+	return $queries;
+}
+
+$wp_queries = get_create_table_sql();
+
 /**
  * Create WordPress options and set the default values.
  *
