Index: wp-admin/admin-functions.php
===================================================================
--- wp-admin/admin-functions.php	(revision 4934)
+++ wp-admin/admin-functions.php	(working copy)
@@ -8,6 +8,14 @@
 		return $result;
 }
 
+function has_edit_date_changed() {
+	if($_POST['aa']!=$_POST['aaold'] || $_POST['mm']!=$_POST['mmold'] || $_POST['jj']!=$_POST['jjold'] || $_POST['hh']!=$_POST['hhold'] || $_POST['mn'] != $_POST['mnold'] || $_POST['ss']!=$_POST['ssold']) {
+		return true;
+	}
+	
+	return false;
+}
+
 // Creates a new post from the "Write Post" form using $_POST information.
 function wp_write_post() {
 	global $user_ID;
@@ -91,7 +99,7 @@
 	if (!isset( $_POST['ping_status'] ))
 		$_POST['ping_status'] = 'closed';
 
-	if (!empty ( $_POST['edit_date'] ) ) {
+	if (has_edit_date_changed()) {
 		$aa = $_POST['aa'];
 		$mm = $_POST['mm'];
 		$jj = $_POST['jj'];
@@ -257,7 +265,7 @@
 	if (!isset( $_POST['ping_status'] ))
 		$_POST['ping_status'] = 'closed';
 
-	if (!empty ( $_POST['edit_date'] ) ) {
+	if (has_edit_date_changed()) {
 		$aa = $_POST['aa'];
 		$mm = $_POST['mm'];
 		$jj = $_POST['jj'];
@@ -315,7 +323,7 @@
 	$_POST['comment_content'] = $_POST['content'];
 	$_POST['comment_ID'] = (int) $_POST['comment_ID'];
 
-	if (!empty ( $_POST['edit_date'] ) ) {
+	if (has_edit_date_changed()) {
 		$aa = $_POST['aa'];
 		$mm = $_POST['mm'];
 		$jj = $_POST['jj'];
@@ -1090,7 +1098,7 @@
 	if ( $for_post )
 		$edit = ( ('draft' == $post->post_status ) && (!$post->post_date || '0000-00-00 00:00:00' == $post->post_date ) ) ? false : true;
  
-	echo '<fieldset><legend><input type="checkbox" class="checkbox" name="edit_date" value="1" id="timestamp" /> <label for="timestamp">'.__( 'Edit timestamp' ).'</label></legend>';
+	echo '<fieldset>';
 
 	$time_adj = time() + (get_option( 'gmt_offset' ) * 3600 );
 	$post_date = ($for_post) ? $post->post_date : $comment->comment_date;
@@ -1101,7 +1109,7 @@
 	$mn = ($edit) ? mysql2date( 'i', $post_date ) : gmdate( 'i', $time_adj );
 	$ss = ($edit) ? mysql2date( 's', $post_date ) : gmdate( 's', $time_adj );
 
-	echo "<select name=\"mm\" onchange=\"edit_date.checked=true\">\n";
+	echo "<select name=\"mm\">\n";
 	for ( $i = 1; $i < 13; $i = $i +1 ) {
 		echo "\t\t\t<option value=\"$i\"";
 		if ( $i == $mm )
@@ -1110,11 +1118,18 @@
 	}
 ?>
 </select>
-<input type="text" id="jj" name="jj" value="<?php echo $jj; ?>" size="2" maxlength="2" onchange="edit_date.checked=true"/>
-<input type="text" id="aa" name="aa" value="<?php echo $aa ?>" size="4" maxlength="5" onchange="edit_date.checked=true" /> @
-<input type="text" id="hh" name="hh" value="<?php echo $hh ?>" size="2" maxlength="2" onchange="edit_date.checked=true" /> :
-<input type="text" id="mn" name="mn" value="<?php echo $mn ?>" size="2" maxlength="2" onchange="edit_date.checked=true" />
-<input type="hidden" id="ss" name="ss" value="<?php echo $ss ?>" size="2" maxlength="2" onchange="edit_date.checked=true" />
+<input type="text" id="jj" name="jj" value="<?php echo $jj; ?>" size="2" maxlength="2" />
+<input type="text" id="aa" name="aa" value="<?php echo $aa ?>" size="4" maxlength="5" /> @
+<input type="text" id="hh" name="hh" value="<?php echo $hh ?>" size="2" maxlength="2" /> :
+<input type="text" id="mn" name="mn" value="<?php echo $mn ?>" size="2" maxlength="2" />
+<input type="hidden" id="ss" name="ss" value="<?php echo $ss ?>" size="2" maxlength="2" />
+
+<input type="hidden" id="mmold" name="mmold" value="<?php echo $mm; ?>" size="2" maxlength="2" />
+<input type="hidden" id="jjold" name="jjold" value="<?php echo $jj; ?>" size="2" maxlength="2" />
+<input type="hidden" id="aaold" name="aaold" value="<?php echo $aa ?>" size="4" maxlength="5" />
+<input type="hidden" id="hhold" name="hhold" value="<?php echo $hh ?>" size="2" maxlength="2" />
+<input type="hidden" id="mnold" name="mnold" value="<?php echo $mn ?>" size="2" maxlength="2" />
+<input type="hidden" id="ssold" name="ssold" value="<?php echo $ss ?>" size="2" maxlength="2" />
 <?php
 	if ( $edit ) {
 		printf( __('Existing timestamp: %1$s %2$s, %3$s @ %4$s:%5$s' ), $wp_locale->get_month( $mm ), $jj, $aa, $hh, $mn );
