Index: wp-admin/includes/schema.php
===================================================================
--- wp-admin/includes/schema.php	(revision 12830)
+++ wp-admin/includes/schema.php	(working copy)
@@ -619,7 +619,7 @@
  *
  * @param int $network_id id of network to populate
  */
-function populate_network( $network_id = 1, $domain = '', $email = '', $site_name = '', $path = '/', $vhost = 'no' ) {
+function populate_network( $network_id = 1, $domain = '', $email = '', $site_name = '', $path = '/', $subdomain_install = false ) {
 	global $wpdb, $current_site, $wp_version, $wp_db_version, $wp_rewrite;
 
 	$msg = '';
@@ -701,14 +701,14 @@
 		update_usermeta( $site_user->ID, 'primary_blog', 1 );
 	}
 
-	if ( $vhost == 'yes' )
+	if ( $subdomain_install && $subdomain_install != 'no' ) // back compat vhost value
 		update_option( 'permalink_structure', '/%year%/%monthnum%/%day%/%postname%/');
 	else
 		update_option( 'permalink_structure', '/blog/%year%/%monthnum%/%day%/%postname%/');
 
 	$wp_rewrite->flush_rules();
 
-	if ( $vhost == 'yes' ) {
+	if ( $subdomain_install && $subdomain_install != 'no' ) // back compat vhost value
 		$vhost_ok = false;
 		$hostname = substr( md5( time() ), 0, 6 ) . '.' . $domain; // Very random hostname!
 		$page = wp_remote_get( 'http://' . $hostname, array( 'timeout' => 5, 'httpversion' => '1.1' ) );
Index: wp-admin/includes/wp-config.ms
===================================================================
--- wp-admin/includes/wp-config.ms	(revision 12830)
+++ wp-admin/includes/wp-config.ms	(working copy)
@@ -34,7 +34,7 @@
 
 /** Network settings - added by the network settings installer */
 define('MULTISITE', true);
-define('VHOST', 'VHOSTSETTING'); 
+define('SUBDOMAIN_INSTALL', 'false'); 
 $base = 'BASE';
 define('DOMAIN_CURRENT_SITE', 'current_site_domain' );
 define('PATH_CURRENT_SITE', 'current_site_path' );
@@ -93,7 +93,7 @@
 // remember to change WP_CONTENT too.
 // define( "UPLOADBLOGSDIR", "fileserver" );
 
-// If VHOST is 'yes' uncomment and set this to a URL to redirect if a blog does not exist or is a 404 on the main blog. (Useful if signup is disabled)
+// If SUBDOMAIN_INSTALL is true uncomment and set this to a URL to redirect if a blog does not exist or is a 404 on the main blog. (Useful if signup is disabled)
 // For example, the browser will redirect to http://examples.com/ for the following: define( 'NOBLOGREDIRECT', 'http://example.com/' );
 // Set this value to %siteurl% to redirect to the root of the site
 // define( 'NOBLOGREDIRECT', '' );
Index: wp-admin/network.php
===================================================================
--- wp-admin/network.php	(revision 12830)
+++ wp-admin/network.php	(working copy)
@@ -142,8 +142,8 @@
 		<p><?php _e( '<strong>Note</strong> It looks like <code>mod_rewrite</code> is not installed.'); ?></p>
 		<?php } ?>
 		<p class="blog-address">
-			<label><input type='radio' name='vhost' value='yes'<?php if( $rewrite_enabled ) echo ' checked="checked"'; ?> /> <?php _e( 'Sub-domains (like <code>blog1.example.com</code>)' ); ?></label><br />
-			<label><input type='radio' name='vhost' value='no'<?php if( !$rewrite_enabled ) echo ' checked="checked"'; ?> /> <?php _e( 'Sub-directories (like <code>example.com/blog1</code>) '); ?></label>
+			<label><input type='radio' name='vhost' value='1'<?php if( $rewrite_enabled ) echo ' checked="checked"'; ?> /> <?php _e( 'Sub-domains (like <code>blog1.example.com</code>)' ); ?></label><br />
+			<label><input type='radio' name='vhost' value='0'<?php if( !$rewrite_enabled ) echo ' checked="checked"'; ?> /> <?php _e( 'Sub-directories (like <code>example.com/blog1</code>) '); ?></label>
 		</p>
 
 		<h2><?php esc_html_e( 'Server Address' ); ?></h2>
@@ -195,10 +195,10 @@
 }
 
 function step2_config() {
-	global $base, $wpdb, $vhost;
+	global $base, $wpdb;
 
-	$vhost   = stripslashes($_POST['vhost' ]);
-	$prefix  = $wpdb->base_prefix;
+	$subdomain_install = (bool) $_POST['vhost'];
+	$prefix            = $wpdb->base_prefix;
 
 	$config_sample = ABSPATH . 'wp-admin/includes/wp-config.ms';
 	if ( !file_exists( $config_sample ) )
@@ -223,8 +223,12 @@
 			case "define('DB_HOST'":
 				$output = str_replace("localhost", DB_HOST, $line);
 				break;
-			case "define('VHOST',":
-				$output = str_replace("VHOSTSETTING", $vhost, $line);
+			case "define('SUBDOMAI":
+				if ( ! $subdomain_install ) {
+					$output = $line;
+					break;
+				}
+				$output = str_replace('false', 'true', $line);
 				break;
 			case '$table_prefix  =':
 				$output = str_replace('wp_', $prefix, $line);
@@ -285,7 +289,7 @@
 		// create network tables
 		$domain = get_clean_basedomain();
 		install_network();
-		populate_network( 1, $domain, sanitize_email( $_POST[ 'email' ] ), $_POST[ 'weblog_title' ], $base, $_POST[ 'vhost' ] );
+		populate_network( 1, $domain, sanitize_email( $_POST[ 'email' ] ), $_POST[ 'weblog_title' ], $base, (bool) $_POST[ 'vhost' ] );
 		// create wp-config.php / htaccess
 		step2();
 	break;
Index: wp-includes/default-constants.php
===================================================================
--- wp-includes/default-constants.php	(revision 12830)
+++ wp-includes/default-constants.php	(working copy)
@@ -277,6 +277,29 @@
 			define('STYLESHEETPATH', get_stylesheet_directory());
 			break;
 
+		case 'subdomain_install':
+
+			if ( defined( 'VHOST' ) )
+				$vhost_deprecated = __( 'The constant <code>VHOST</code> <strong>is deprecated</strong>. Use the boolean constant <code>SUBDOMAIN_INSTALL</code> in wp-config.php to enable a subdomain configuration. Use is_subdomain_install() to check whether a subdomain configuration is enabled.' );
+
+			if ( defined( 'SUBDOMAIN_INSTALL' ) && defined( 'VHOST' ) ) {
+				if ( SUBDOMAIN_INSTALL == ( 'yes' == VHOST ) ) {
+					_deprecated_argument( 'define()', '3.0', $vhost_deprecated );
+				} else {
+					trigger_error( __( '<strong>Conflicting values for the constants VHOST and SUBDOMAIN_INSTALL.</strong> The value of SUBDOMAIN_INSTALL will be assumed to be your subdomain configuration setting.' ) . ' ' . $vhost_deprecated, E_USER_WARNING );
+				}
+			} elseif ( defined( 'SUBDOMAIN_INSTALL' ) ) {
+				define( 'VHOST', SUBDOMAIN_INSTALL ? 'yes' : 'no' );
+			} elseif ( defined( 'VHOST' ) ) {
+				_deprecated_argument( 'define()', '3.0', $vhost_deprecated );
+				define( 'SUBDOMAIN_INSTALL', 'yes' == VHOST );
+			} else {	
+				define( 'SUBDOMAIN_INSTALL', false );
+				define( 'VHOST', 'no' );
+			}
+
+			break;
+
 	}
 
 }
Index: wp-includes/ms-load.php
===================================================================
--- wp-includes/ms-load.php	(revision 12830)
+++ wp-includes/ms-load.php	(working copy)
@@ -21,7 +21,7 @@
 
 // Fix empty PHP_SELF
 $PHP_SELF = $_SERVER['PHP_SELF'];
-if ( empty($PHP_SELF) || ( empty($PHP_SELF) && constant( 'VHOST' ) == 'no' && $current_blog->path != '/' ) )
+if ( empty($PHP_SELF) || ( empty($PHP_SELF) && !is_subdomain_install() && $current_blog->path != '/' ) )
 	$_SERVER['PHP_SELF'] = $PHP_SELF = preg_replace("/(\?.*)?$/",'',$_SERVER["REQUEST_URI"]);
 
 wp_cache_init(); // need to init cache again after blog_id is set
Index: wp-includes/ms-settings.php
===================================================================
--- wp-includes/ms-settings.php	(revision 12830)
+++ wp-includes/ms-settings.php	(working copy)
@@ -1,17 +1,15 @@
 <?php
 
+wp_default_constants( 'subdomain_install' );
 /**
- * Whether a subdomain configuration is enabled
+ * Whether a subdomain configuration is enabled.
  *
  * @since 3.0
  *
  * @return bool True if subdomain configuration is enabled, false otherwise.
  */
 function is_subdomain_install() {
-	if ( defined('VHOST') && VHOST == 'yes' )
-		return true;
-
-	return false;
+	return SUBDOMAIN_INSTALL;
 }
 
 if ( isset( $current_site ) && isset( $current_blog ) )
Index: wp-includes/wp-db.php
===================================================================
--- wp-includes/wp-db.php	(revision 12830)
+++ wp-includes/wp-db.php	(working copy)
@@ -456,7 +456,7 @@
 		foreach ( $this->global_tables as $table )
 			$this->$table = $prefix . $table;
 
-		if ( defined('VHOST') && empty($this->blogid) )
+		if ( is_multisite() && empty($this->blogid) )
 			return $old_prefix;
 
 		$this->prefix = $this->get_blog_prefix( $this->blogid );
