Index: wp-includes/load.php
===================================================================
--- wp-includes/load.php	(revision 15839)
+++ wp-includes/load.php	(working copy)
@@ -458,6 +458,38 @@
 }
 
 /**
+ * Returns array of network plugin files to be included in global scope.
+ *
+ * The default directory is wp-content/plugins. To change the default directory
+ * manually, define <code>WP_PLUGIN_DIR</code> and <code>WP_PLUGIN_URL</code>
+ * in wp-config.php.
+ *
+ * @access private
+ * @since 3.1.0
+ * @return array Files to include
+ */
+function wp_get_active_network_plugins() {
+	if ( ! is_multisite() )
+		return array();
+
+	$active_plugins = (array) get_site_option( 'active_sitewide_plugins', array() );
+	if ( empty( $active_plugins ) )
+		return array();
+
+	$active_plugins = array_keys( $active_plugins );
+	sort( $active_plugins );
+
+	foreach ( $active_plugins as $plugin ) {
+		if ( ! validate_file( $plugin ) // $plugin must validate as file
+			&& '.php' == substr( $plugin, -4 ) // $plugin must end with '.php'
+			&& file_exists( WP_PLUGIN_DIR . '/' . $plugin ) // $plugin must exist
+			)
+		$plugins[] = WP_PLUGIN_DIR . '/' . $plugin;
+	}
+	return $plugins;
+}
+
+/**
  * Returns array of plugin files to be included in global scope.
  *
  * The default directory is wp-content/plugins. To change the default directory
@@ -472,15 +504,6 @@
 	$plugins = array();
 	$active_plugins = (array) get_option( 'active_plugins', array() );
 
-	// Get active network plugins
-	if ( is_multisite() ) {
-		$active_sitewide_plugins = (array) get_site_option( 'active_sitewide_plugins', array() );
-		if ( !empty($active_sitewide_plugins) ) {
-			$active_plugins = array_merge( $active_plugins, array_keys( $active_sitewide_plugins ) );
-			sort( $active_plugins );
-		}
-	}
-
 	// Check for hacks file if the option is enabled
 	if ( get_option( 'hack_file' ) && file_exists( ABSPATH . 'my-hacks.php' ) ) {
 		_deprecated_file( 'my-hacks.php', '1.5' );
@@ -490,10 +513,14 @@
 	if ( empty( $active_plugins ) || defined( 'WP_INSTALLING' ) )
 		return $plugins;
 
+	$network_plugins = wp_get_active_network_plugins();
+
 	foreach ( $active_plugins as $plugin ) {
 		if ( ! validate_file( $plugin ) // $plugin must validate as file
 			&& '.php' == substr( $plugin, -4 ) // $plugin must end with '.php'
 			&& file_exists( WP_PLUGIN_DIR . '/' . $plugin ) // $plugin must exist
+			// not already included as a network plugin
+			&& ! in_array( WP_PLUGIN_DIR . '/' . $plugin, $network_plugins )
 			)
 		$plugins[] = WP_PLUGIN_DIR . '/' . $plugin;
 	}
Index: wp-settings.php
===================================================================
--- wp-settings.php	(revision 15839)
+++ wp-settings.php	(working copy)
@@ -152,6 +152,11 @@
 }
 unset( $mu_plugin );
 
+foreach( wp_get_active_network_plugins() as $network_plugin ) {
+	include_once( $network_plugin );
+}
+unset( $network_plugin );
+
 do_action( 'muplugins_loaded' );
 
 if ( is_multisite() )
