diff --git a/wp-includes/plugin.php b/wp-includes/plugin.php
index d616a2a..48592d7 100644
--- a/wp-includes/plugin.php
+++ b/wp-includes/plugin.php
@@ -918,3 +918,16 @@ function _wp_filter_build_unique_id($tag, $function, $priority) {
 		return $function[0] . '::' . $function[1];
 	}
 }
+
+// If we use plugins.php?_wp_dont_load_plugins when loading plugins.php,
+// let them know plugins haven't been loaded and help them load them up again.
+function wp_plugins_not_loaded_notice() {
+	?>
+		<div class="error">
+			<p><?php _e(
+				'Plugins are not being loaded so you can maintain them.
+				&mdash; <a href="?_wp_load_plugins">I\'m done, load the plugins.</a>'
+			); ?></p>
+		</div>
+	<?php
+}
diff --git a/wp-settings.php b/wp-settings.php
index 9795971..d394937 100644
--- a/wp-settings.php
+++ b/wp-settings.php
@@ -209,12 +209,83 @@ create_initial_post_types();
 // Register the default theme directory root
 register_theme_directory( get_theme_root() );
 
-// Load active plugins.
-foreach ( wp_get_active_and_valid_plugins() as $plugin ) {
-	wp_register_plugin_realpath( $plugin );
-	include_once( $plugin );
+if(
+
+	// If we're deliberatly trying to bypass loading plugins
+	isset( $_GET['_wp_dont_load_plugins'] )
+
+	// Through the Dashboard
+	&& is_admin()
+
+	// And a user is logged in (no use setting if a user isn't logged in)
+	&& isset( $_COOKIE[LOGGED_IN_COOKIE] )
+) {
+
+	// Our cookie lasts 10 minutes so if somehow it was set it gets de-activated.
+	$cookie_to_expire = time() + 600;
+
+	// Set a cookie for the user so they have time to de-activate the plugin.
+	setcookie(
+		'_wp_dont_load_plugins',
+
+		// Store something that makes this unique so it can't be done by somebody else.
+		md5( $_COOKIE[LOGGED_IN_COOKIE] ),
+
+		// Expire time.
+		$cookie_to_expire
+	);
+
+	// Throw a message if we set this and the cookie was set (first time).
+	add_action( 'admin_notices', 'wp_plugins_not_loaded_notice' );
+
+} elseif(
+
+	// If our cookie is set.
+	isset( $_COOKIE['_wp_dont_load_plugins'] )
+
+	// And our login details match (just to make this cookie hard to duplicate).
+	&& $_COOKIE['_wp_dont_load_plugins'] == md5( $_COOKIE[LOGGED_IN_COOKIE] )
+
+	// Only for the dashboardDashboard.
+	&& is_admin()
+
+	// And we're not trying to turn this off.
+	&& ! isset( $_GET['_wp_load_plugins'] )
+) {
+
+	// Throw a message if the cookie is active.
+	add_action( 'admin_notices', 'wp_plugins_not_loaded_notice' );
+
+} elseif(
+
+	// We want to start loading plugins again.
+	isset( $_GET['_wp_load_plugins'] )
+
+	// Activated through the Dashboard.
+	&& is_admin()
+
+) {
+
+	// Remove the cookie.
+	setcookie(
+		'_wp_dont_load_plugins',
+
+		// No value
+		false,
+
+		// Expire
+		time() - 3600
+	);
+
+} else {
+
+	// Load active plugins.
+	foreach ( wp_get_active_and_valid_plugins() as $plugin ) {
+		wp_register_plugin_realpath( $plugin );
+		include_once( $plugin );
+	}
+
 }
-unset( $plugin );
 
 // Load pluggable functions.
 require( ABSPATH . WPINC . '/pluggable.php' );
