You can hook on option_update_core and edit the update url, as a plugin you can do something like this (Remember to disable the plugin after updating wordpress) add_filter(‘option_update_core’,’wpse_26750′); add_filter(‘transient_update_core’,’wpse_26750′); function wpse_26750($options){ global $wp_version; $updates=array( ‘2.5’=>’http://wordpress.org/wordpress-2.5.zip’, ‘2.7.1’=>’http://wordpress.org/wordpress-2.7.1.zip’, ‘2.8’=>’http://wordpress.org/wordpress-2.8.zip’, ‘2.8.1’=>’http://wordpress.org/wordpress-2.8.1.zip’, ‘2.8.3’=>’http://wordpress.org/wordpress-2.8.3.zip’, ); $currentUpdate=$options->updates[0]; //Add Previous updates skipping the ones already passed foreach($updates as $version=>$updateUrl){ if( version_compare($wp_version,$version) < … Read more