Index: includes/class-wp-upgrader.php
===================================================================
--- includes/class-wp-upgrader.php	(revision 14339)
+++ includes/class-wp-upgrader.php	(working copy)
@@ -986,6 +986,7 @@
 class Plugin_Upgrader_Skin extends WP_Upgrader_Skin {
 	var $plugin = '';
 	var $plugin_active = false;
+	var $plugin_network_active = 0;
 
 	function Plugin_Upgrader_Skin($args = array()) {
 		return $this->__construct($args);
@@ -998,6 +999,8 @@
 		$this->plugin = $args['plugin'];
 
 		$this->plugin_active = is_plugin_active($this->plugin);
+		$this->plugin_network_active = 1;
+		
 
 		parent::__construct($args);
 	}
@@ -1006,7 +1009,7 @@
 		$this->plugin = $this->upgrader->plugin_info();
 		if ( !empty($this->plugin) && !is_wp_error($this->result) && $this->plugin_active ){
 			show_message(__('Reactivating the plugin&#8230;'));
-			echo '<iframe style="border:0;overflow:hidden" width="100%" height="170px" src="' . wp_nonce_url('update.php?action=activate-plugin&plugin=' . $this->plugin, 'activate-plugin_' . $this->plugin) .'"></iframe>';
+			echo '<iframe style="border:0;overflow:hidden" width="100%" height="170px" src="' . wp_nonce_url('update.php?action=activate-plugin&networkwide=1&plugin=' . $this->plugin, 'activate-plugin_' . $this->plugin) .'"></iframe>';
 		}
 
 		$update_actions =  array(
@@ -1390,4 +1393,4 @@
 			$this->package = $uploads['basedir'] . '/' . $this->filename;
 		}
 	}
-}
\ No newline at end of file
+}
Index: update.php
===================================================================
--- update.php	(revision 14339)
+++ update.php	(working copy)
@@ -69,7 +69,7 @@
 		check_admin_referer('activate-plugin_' . $plugin);
 		if ( ! isset($_GET['failure']) && ! isset($_GET['success']) ) {
 			wp_redirect( 'update.php?action=activate-plugin&failure=true&plugin=' . $plugin . '&_wpnonce=' . $_GET['_wpnonce'] );
-			activate_plugin($plugin);
+			activate_plugin( $plugin, '', isset( $_GET['networkwide'] ) && 1 == $_GET['networkwide'] );
 			wp_redirect( 'update.php?action=activate-plugin&success=true&plugin=' . $plugin . '&_wpnonce=' . $_GET['_wpnonce'] );
 			die();
 		}
Index: plugin-editor.php
===================================================================
--- plugin-editor.php	(revision 14339)
+++ plugin-editor.php	(working copy)
@@ -55,6 +55,8 @@
 		fwrite($f, $newcontent);
 		fclose($f);
 
+		$network_wide = is_plugin_active_for_network( $file ) ? 1 : 0;
+
 		// Deactivate so we can test it.
 		if ( is_plugin_active($file) || isset($_POST['phperror']) ) {
 			if ( is_plugin_active($file) )
@@ -62,7 +64,7 @@
 
 			update_option('recently_activated', array($file => time()) + (array)get_option('recently_activated'));
 
-			wp_redirect(add_query_arg('_wpnonce', wp_create_nonce('edit-plugin-test_' . $file), "plugin-editor.php?file=$file&liveupdate=1&scrollto=$scrollto"));
+			wp_redirect(add_query_arg('_wpnonce', wp_create_nonce('edit-plugin-test_' . $file), "plugin-editor.php?file=$file&liveupdate=1&scrollto=$scrollto&networkwide=$network_wide"));
 			exit;
 		}
 		wp_redirect("plugin-editor.php?file=$file&a=te&scrollto=$scrollto");
@@ -83,7 +85,7 @@
 			wp_die( $error );
 
 		if ( ! is_plugin_active($file) )
-			activate_plugin($file, "plugin-editor.php?file=$file&phperror=1"); // we'll override this later if the plugin can be included without fatal error
+			activate_plugin($file, "plugin-editor.php?file=$file&phperror=1", isset( $_GET['networkwide'] ) && 1 == $_GET['networkwide'] ); // we'll override this later if the plugin can be included without fatal error
 
 		wp_redirect("plugin-editor.php?file=$file&a=te&scrollto=$scrollto");
 		exit;
