Index: wp-includes/post.php
===================================================================
--- wp-includes/post.php	(revision 2072)
+++ wp-includes/post.php	(working copy)
@@ -3275,8 +3275,11 @@
 			$wpdb->update( $wpdb->posts, array( 'guid' => get_permalink( $post->ID ) ), array( 'ID' => $post->ID ) );
 		do_action('private_to_published', $post->ID);  // Deprecated, use private_to_publish
 		// do generic pings once per hour at most
-		if ( !wp_next_scheduled('do_generic_ping') )
-			wp_schedule_single_event(time() + 3600, 'do_generic_ping');
+		if ( !wp_next_scheduled('do_generic_ping') && !get_transient('last_ping') ) {
+			wp_schedule_single_event(time(), 'do_generic_ping');
+			// return false on the transient_last_ping hook to disable throttling
+			set_transient('last_ping', time(), time() + 3600);
+		}
 	}
 
 	// Always clears the hook in case the post status bounced from future to draft.
