Index: wp-admin/includes/class-wp-upgrader.php
===================================================================
--- wp-admin/includes/class-wp-upgrader.php	(revision 11088)
+++ wp-admin/includes/class-wp-upgrader.php	(working copy)
@@ -28,7 +28,11 @@
 			$this->skin = new WP_Upgrader_Skin();
 		else
 			$this->skin = $skin;
+	}
+	
+	function init() {
 		$this->skin->set_upgrader($this);
+		$this->generic_strings();
 	}
 
 	function generic_strings() {
@@ -328,7 +332,6 @@
 	var $result;
 
 	function upgrade_strings() {
-		$this->generic_strings();
 		$this->strings['up_to_date'] = __('The plugin is at the latest version.');
 		$this->strings['no_package'] = __('Upgrade package not available.');
 		$this->strings['downloading_package'] = __('Downloading update from %s.');
@@ -341,7 +344,6 @@
 	}
 
 	function install_strings() {
-		$this->generic_strings();
 		$this->strings['no_package'] = __('Install package not available.');
 		$this->strings['downloading_package'] = __('Downloading install package from %s.');
 		$this->strings['unpack_package'] = __('Unpacking the package.');
@@ -352,6 +354,7 @@
 
 	function install($package) {
 
+		$this->init();
 		$this->install_strings();
 
 		$this->run(array(
@@ -369,6 +372,7 @@
 
 	function upgrade($plugin) {
 
+		$this->init();
 		$this->upgrade_strings();
 
 		$current = get_transient( 'update_plugins' );
@@ -475,7 +479,6 @@
 	var $result;
 
 	function upgrade_strings() {
-		$this->generic_strings();
 		$this->strings['up_to_date'] = __('The theme is at the latest version.');
 		$this->strings['no_package'] = __('Upgrade package not available.');
 		$this->strings['downloading_package'] = __('Downloading update from %s.');
@@ -487,7 +490,6 @@
 	}
 
 	function install_strings() {
-		$this->generic_strings();
 		$this->strings['no_package'] = __('Install package not available.');
 		$this->strings['downloading_package'] = __('Downloading install package from %s.');
 		$this->strings['unpack_package'] = __('Unpacking the package.');
@@ -497,7 +499,8 @@
 	}
 
 	function install($package) {
-
+		
+		$this->init();
 		$this->install_strings();
 
 		$options = array(
@@ -523,6 +526,7 @@
 
 	function upgrade($theme) {
 
+		$this->init();
 		$this->upgrade_strings();
 
 		// Is an update available?
@@ -616,11 +620,10 @@
 
 }
 
-//Untested.
+
 class Core_Upgrader extends WP_Upgrader {
 
 	function upgrade_strings() {
-		$this->generic_strings();
 		$this->strings['up_to_date'] = __('WordPress is at the latest version.');
 		$this->strings['no_package'] = __('Upgrade package not available.');
 		$this->strings['downloading_package'] = __('Downloading update from %s.');
@@ -630,9 +633,10 @@
 
 	function upgrade($current) {
 		global $wp_filesystem;
+
+		$this->init();
 		$this->upgrade_strings();
 
-
 		if ( !empty($feedback) )
 			add_filter('update_feedback', $feedback);
 
@@ -732,7 +736,7 @@
 	}
 
 	function feedback($string) {
-		if ( isset( $this->upgrader->strings[$string]) )
+		if ( isset( $this->upgrader->strings[$string] ) )
 			$string = $this->upgrader->strings[$string];
 
 		if ( strpos($string, '%') !== false ) {
@@ -829,7 +833,7 @@
 
 
 		if ( ! $this->result || is_wp_error($this->result) )
-			unset( $update_actions['activate_plugin'] );
+			unset( $install_actions['activate_plugin'] );
 
 		$install_actions = apply_filters('install_plugin_complete_actions', $install_actions, $this->api, $plugin_file);
 		if ( ! empty($install_actions) )
@@ -885,7 +889,7 @@
 			$install_actions['themes_page'] = '<a href="' . admin_url('themes.php') . '" title="' . attribute_escape(__('Themes page')) . '" target="_parent">' . __('Return to Themes page') . '</a>';
 
 		if ( ! $this->result || is_wp_error($this->result) )
-			unset( $update_actions['activate'], $update_actions['preview'] );
+			unset( $install_actions['activate'], $install_actions['preview'] );
 
 		$install_actions = apply_filters('install_theme_complete_actions', $install_actions, $this->api, $stylesheet, $theme_info);
 		if ( ! empty($install_actions) )

