Index: wp-admin/includes/plugin.php
===================================================================
--- wp-admin/includes/plugin.php	(revision 8066)
+++ wp-admin/includes/plugin.php	(working copy)
@@ -32,12 +32,13 @@
 }
 
 function get_plugins($plugin_folder = '') {
-	global $wp_plugins;
-
-	if ( isset( $wp_plugins ) ) {
-		return $wp_plugins;
-	}
-
+	
+	if ( ! $cache_plugins = wp_cache_get('plugins', 'plugins') )
+		$cached_plugins = array();
+	
+	if ( isset($cache_plugins[ $plugin_folder ]) )
+		return $cache_plugins[ $plugin_folder ];
+	
 	$wp_plugins = array ();
 	$plugin_root = WP_PLUGIN_DIR;
 	if( !empty($plugin_folder) )
@@ -85,6 +86,9 @@
 
 	uasort( $wp_plugins, create_function( '$a, $b', 'return strnatcasecmp( $a["Name"], $b["Name"] );' ));
 
+	$cache_plugins[ $plugin_folder ] = $wp_plugins; 
+	wp_cache_set('plugins', $cache_plugins, 'plugins'); 
+
 	return $wp_plugins;
 }
 
Index: wp-admin/plugins.php
===================================================================
--- wp-admin/plugins.php	(revision 8066)
+++ wp-admin/plugins.php	(working copy)
@@ -82,16 +82,9 @@
 			$parent_file = 'plugins.php';
 
 			$delete_result = delete_plugins($plugins);
-			
-			//HACK TIME!
-			// Proper way needed, perhaps get_plugins() to convert to wp_cache_get() any reason why it hasnt allready?
-			// This clears the cached plugin list
-			global $wp_plugins;
-			$wp_plugins = null;
-			
-			
-				
-			//TODO: Implement!.. STAT!
+
+			wp_cache_delete('plugins', 'plugins');
+
 			break;
 		default:
 			var_dump("Unknown Action $action");
Index: wp-settings.php
===================================================================
--- wp-settings.php	(revision 8066)
+++ wp-settings.php	(working copy)
@@ -222,7 +222,7 @@
 wp_cache_init();
 if ( function_exists('wp_cache_add_global_groups') ) {
 	wp_cache_add_global_groups(array ('users', 'userlogins', 'usermeta'));
-	wp_cache_add_non_persistent_groups(array( 'comment', 'counts' ));
+	wp_cache_add_non_persistent_groups(array( 'comment', 'counts', 'plugins' ));
 }
 
 require (ABSPATH . WPINC . '/plugin.php');
