Index: wp-admin/options-general.php
===================================================================
--- wp-admin/options-general.php	(revision 13459)
+++ wp-admin/options-general.php	(working copy)
@@ -69,13 +69,14 @@
 </tr>
 <tr valign="top">
 <th scope="row"><label for="blogdescription"><?php _e('Tagline') ?></label></th>
-<td><input name="blogdescription" type="text" id="blogdescription"  value="<?php form_option('blogdescription'); ?>" class="regular-text" />
+<td><input name="blogdescription" type="text" id="blogdescription" value="<?php form_option('blogdescription'); ?>" class="regular-text" />
 <span class="description"><?php _e('In a few words, explain what this blog is about.') ?></span></td>
 </tr>
 <?php if ( !is_multisite() ) { ?>
 <tr valign="top">
 <th scope="row"><label for="siteurl"><?php _e('WordPress address (URL)') ?></label></th>
-<td><input name="siteurl" type="text" id="siteurl" value="<?php form_option('siteurl'); ?>" class="regular-text code<?php if ( defined( 'WP_SITEURL' ) ) : ?> disabled" disabled="disabled"<?php else: ?>"<?php endif; ?> /></td>
+<td><input name="siteurl" type="text" id="siteurl" value="<?php form_option('siteurl'); ?>" class="regular-text code disabled" disabled="disabled" />
+<span class="description"><?php _e('For reference only'); ?></span></td>
 </tr>
 <tr valign="top">
 <th scope="row"><label for="home"><?php _e('Blog address (URL)') ?></label></th>
Index: wp-admin/options.php
===================================================================
--- wp-admin/options.php	(revision 13459)
+++ wp-admin/options.php	(working copy)
@@ -37,7 +37,6 @@
 $mail_options = array('mailserver_url', 'mailserver_port', 'mailserver_login', 'mailserver_pass');
 
 if ( !is_multisite() ) {
-	if ( !defined( 'WP_SITEURL' ) ) $whitelist_options['general'][] = 'siteurl';
 	if ( !defined( 'WP_HOME' ) ) $whitelist_options['general'][] = 'home';
 	$whitelist_options['general'][] = 'admin_email';
 	$whitelist_options['general'][] = 'users_can_register';
@@ -115,6 +114,13 @@
 			$_POST['gmt_offset'] = preg_replace('/UTC\+?/', '', $_POST['gmt_offset']);
 			$_POST['timezone_string'] = '';
 		}
+
+		// Make 'www' preference consistent
+		$siteurl = get_option('siteurl');
+		if ( FALSE !== strpos($_POST['home'], '://www.') )
+			update_option('siteurl', str_replace('://', '://www.', $siteurl));
+		else
+			update_option('siteurl', str_replace('://www.', '://', $siteurl));
 	}
 
 	if ( $options ) {
