Index: wp-admin/options-reading.php
===================================================================
--- wp-admin/options-reading.php	(revision 18463)
+++ wp-admin/options-reading.php	(working copy)
@@ -61,17 +61,15 @@
 <form name="form1" method="post" action="options.php">
 <?php settings_fields( 'reading' ); ?>
 
-<?php if ( ! get_pages() ) : ?>
-<input name="show_on_front" type="hidden" value="posts" />
-<table class="form-table">
 <?php
-	if ( 'posts' != get_option( 'show_on_front' ) ) :
+$published_pages_exist = get_pages();
+if ( ! $published_pages_exist ) {
+	if ( 'posts' != get_option( 'show_on_front' ) )
 		update_option( 'show_on_front', 'posts' );
-	endif;
-
-else :
+} else {
 	if ( 'page' == get_option( 'show_on_front' ) && ! get_option( 'page_on_front' ) && ! get_option( 'page_for_posts' ) )
 		update_option( 'show_on_front', 'posts' );
+}
 ?>
 <table class="form-table">
 <tr valign="top">
@@ -83,20 +81,26 @@
 	</label>
 	</p>
 	<p><label>
+	<?php if ( $published_pages_exist ) : ?> 
 		<input name="show_on_front" type="radio" value="page" class="tog" <?php checked( 'page', get_option( 'show_on_front' ) ); ?> />
 		<?php printf( __( 'A <a href="%s">static page</a> (select below)' ), 'edit.php?post_type=page' ); ?>
+	<?php else : ?> 
+		<input name="show_on_front" type="radio" value="page" class="tog" disabled="disabled" <?php checked( 'page', get_option( 'show_on_front' ) ); ?> /> 
+		<?php printf( __( 'A <a href="%s">static page</a> (you need to <strong>publish</strong> a page if you wish to use it as your site\'s front page)' ), 'edit.php?post_type=page' ); ?> 
+	<?php endif; ?>
 	</label>
 	</p>
+<?php if ( $published_pages_exist ) : ?> 
 <ul>
 	<li><label for="page_on_front"><?php printf( __( 'Front page: %s' ), wp_dropdown_pages( array( 'name' => 'page_on_front', 'echo' => 0, 'show_option_none' => __( '&mdash; Select &mdash;' ), 'option_none_value' => '0', 'selected' => get_option( 'page_on_front' ) ) ) ); ?></label></li>
 	<li><label for="page_for_posts"><?php printf( __( 'Posts page: %s' ), wp_dropdown_pages( array( 'name' => 'page_for_posts', 'echo' => 0, 'show_option_none' => __( '&mdash; Select &mdash;' ), 'option_none_value' => '0', 'selected' => get_option( 'page_for_posts' ) ) ) ); ?></label></li>
 </ul>
+<?php endif; ?>
 <?php if ( 'page' == get_option( 'show_on_front' ) && get_option( 'page_for_posts' ) == get_option( 'page_on_front' ) ) : ?>
 <div id="front-page-warning" class="error inline"><p><?php _e( '<strong>Warning:</strong> these pages should not be the same!' ); ?></p></div>
 <?php endif; ?>
 </fieldset></td>
 </tr>
-<?php endif; ?>
 <tr valign="top">
 <th scope="row"><label for="posts_per_page"><?php _e( 'Blog pages show at most' ); ?></label></th>
 <td>
