Index: xmlrpc.php
===================================================================
--- xmlrpc.php	(revision 10317)
+++ xmlrpc.php	(working copy)
@@ -2218,6 +2218,13 @@
 			return new IXR_Error(500, __('Sorry, your entry could not be posted. Something wrong happened.'));
 		}
 
+		// Only posts can be sticky
+		if ( $post_type == 'post' && isset( $content_struct['is_sticky'] ) )
+			if ( $content_struct['is_sticky'] == true )
+				stick_post( $post_ID );
+			elseif ( $content_struct['is_sticky'] == false )
+				unstick_post( $post_ID );
+
 		if ( isset($content_struct['custom_fields']) ) {
 			$this->set_custom_fields($post_ID, $content_struct['custom_fields']);
 		}
@@ -2501,6 +2508,13 @@
 			return new IXR_Error(500, __('Sorry, your entry could not be edited. Something wrong happened.'));
 		}
 
+		// Only posts can be sticky
+		if ( $post_type == 'post' && isset( $content_struct['is_sticky'] ) )
+			if( $content_struct['is_sticky'] == true )
+				stick_post( $post_ID );
+			elseif( $content_struct['is_sticky'] == false )
+				unstick_post( $post_ID );
+
 		if ( isset($content_struct['custom_fields']) ) {
 			$this->set_custom_fields($post_ID, $content_struct['custom_fields']);
 		}
@@ -2579,6 +2593,10 @@
 				$postdata['post_status'] = 'publish';
 			}
 
+			$is_sticky = false;
+			if( is_sticky( $post_ID ) )
+				$is_sticky = true;
+
 			$enclosure = array();
 			foreach ( (array) get_post_custom($post_ID) as $key => $val) {
 				if ($key == 'enclosure') {
@@ -2614,7 +2632,8 @@
 				'wp_author_display_name'	=> $author->display_name,
 				'date_created_gmt' => new IXR_Date($post_date_gmt),
 				'post_status' => $postdata['post_status'],
-				'custom_fields' => $this->get_custom_fields($post_ID)
+				'custom_fields' => $this->get_custom_fields($post_ID),
+				'is_sticky' => $is_sticky
 			);
 
 			if (!empty($enclosure)) $resp['enclosure'] = $enclosure;

