Index: xmlrpc.php
===================================================================
--- xmlrpc.php	(revision 11836)
+++ xmlrpc.php	(working copy)
@@ -534,6 +534,13 @@
 			$page_date = mysql2date("Ymd\TH:i:s", $page->post_date, false);
 			$page_date_gmt = mysql2date("Ymd\TH:i:s", $page->post_date_gmt, false);
 
+			// For drafts use the GMT version of the date
+			if ( $page->post_status == 'draft' ) {
+				$page_date_gmt = get_gmt_from_date( mysql2date( 'Y-m-d H:i:s', $page->post_date ) );
+				$page_date_gmt = preg_replace( '|\-|', '', $page_date_gmt );
+				$page_date_gmt = preg_replace( '| |', 'T', $page_date_gmt );
+			}
+
 			// Pull the categories info together.
 			$categories = array();
 			foreach(wp_get_post_categories($page->ID) as $cat_id) {
@@ -798,7 +805,8 @@
 				post_title page_title,
 				post_parent page_parent_id,
 				post_date_gmt,
-				post_date
+				post_date,
+				post_status
 			FROM {$wpdb->posts}
 			WHERE post_type = 'page'
 			ORDER BY ID
@@ -813,8 +821,17 @@
 			$page_list[$i]->dateCreated = new IXR_Date($post_date);
 			$page_list[$i]->date_created_gmt = new IXR_Date($post_date_gmt);
 
+			// For drafts use the GMT version of the date
+			if ( $page_list[$i]->post_status == 'draft' ) {
+				$page_list[$i]->date_created_gmt = get_gmt_from_date( mysql2date( 'Y-m-d H:i:s', $page_list[$i]->post_date ) );
+				$page_list[$i]->date_created_gmt = preg_replace( '|\-|', '', $page_list[$i]->date_created_gmt );
+				$page_list[$i]->date_created_gmt = preg_replace( '| |', 'T', $page_list[$i]->date_created_gmt );
+				$page_list[$i]->date_created_gmt = new IXR_Date( $page_list[$i]->date_created_gmt );
+			}
+
 			unset($page_list[$i]->post_date_gmt);
 			unset($page_list[$i]->post_date);
+			unset($page_list[$i]->post_status);
 		}
 
 		return($page_list);
@@ -2702,6 +2719,13 @@
 			$post_date = mysql2date('Ymd\TH:i:s', $entry['post_date'], false);
 			$post_date_gmt = mysql2date('Ymd\TH:i:s', $entry['post_date_gmt'], false);
 
+			// For drafts use the GMT version of the date
+			if ( $entry['post_status'] == 'draft' ) {
+				$post_date_gmt = get_gmt_from_date( mysql2date( 'Y-m-d H:i:s', $entry['post_date'] ) );
+				$post_date_gmt = preg_replace( '|\-|', '', $post_date_gmt );
+				$post_date_gmt = preg_replace( '| |', 'T', $post_date_gmt );
+			}
+
 			$categories = array();
 			$catids = wp_get_post_categories($entry['ID']);
 			foreach($catids as $catid) {
@@ -2937,6 +2961,13 @@
 			$post_date = mysql2date('Ymd\TH:i:s', $entry['post_date'], false);
 			$post_date_gmt = mysql2date('Ymd\TH:i:s', $entry['post_date_gmt'], false);
 
+			// For drafts use the GMT version of the date
+			if ( $entry['post_status'] == 'draft' ) {
+				$post_date_gmt = get_gmt_from_date( mysql2date( 'Y-m-d H:i:s', $entry['post_date'] ) );
+				$post_date_gmt = preg_replace( '|\-|', '', $post_date_gmt );
+				$post_date_gmt = preg_replace( '| |', 'T', $post_date_gmt );
+			}
+
 			$struct[] = array(
 				'dateCreated' => new IXR_Date($post_date),
 				'userid' => $entry['post_author'],

