diff --git a/core/CHANGELOG.txt b/core/CHANGELOG.txt
index 562e3b0..4335b55 100644
--- a/core/CHANGELOG.txt
+++ b/core/CHANGELOG.txt
@@ -1,6 +1,8 @@
 
 Drupal 8.0, xxxx-xx-xx (development version)
 ----------------------
+- Removed backwards-compatibility with 'magic_quotes_gpc'/'magic_quotes_runtime'
+  PHP configuration settings. Both are required to be disabled.
 - Included the HTML5 Shiv library to support HTML5 elements in IE 8 and below.
 - Included the following Symfony2 components:
     * ClassLoader - PSR-0-compatible autoload routines.
diff --git a/core/includes/bootstrap.inc b/core/includes/bootstrap.inc
index f65ab4c..e2eccda 100644
--- a/core/includes/bootstrap.inc
+++ b/core/includes/bootstrap.inc
@@ -561,8 +561,13 @@ function drupal_environment_initialize() {
   // sites/default/default.settings.php contains more runtime settings.
   // The .htaccess file contains settings that cannot be changed at runtime.
 
-  // Don't escape quotes when reading files from the database, disk, etc.
-  ini_set('magic_quotes_runtime', '0');
+  // Deny execution with enabled "magic quotes" (both GPC and runtime).
+  if (ini_get('magic_quotes_gpc') || ini_get('magic_quotes_runtime')) {
+    header($_SERVER['SERVER_PROTOCOL'] . ' 500 Internal Server Error');
+    print "PHP's 'magic_quotes_gpc' and 'magic_quotes_runtime' settings must be disabled.";
+    exit;
+  }
+
   // Use session cookies, not transparent sessions that puts the session id in
   // the query string.
   ini_set('session.use_cookies', '1');
@@ -2164,6 +2169,11 @@ function _drupal_bootstrap_configuration() {
   drupal_environment_initialize();
   // Start a page timer:
   timer_start('page');
+
+  // Detect string handling method.
+  require_once DRUPAL_ROOT . '/core/includes/unicode.inc';
+  unicode_check();
+
   // Initialize the configuration, including variables from settings.php.
   drupal_settings_initialize();
 
diff --git a/core/includes/common.inc b/core/includes/common.inc
index 14154af..058d7d4 100644
--- a/core/includes/common.inc
+++ b/core/includes/common.inc
@@ -1024,67 +1024,6 @@ function drupal_http_request($url, array $options = array()) {
  */
 
 /**
- * Strips slashes from a string or array of strings.
- *
- * Callback for array_walk() within fix_gpx_magic().
- *
- * @param $item
- *   An individual string or array of strings from superglobals.
- */
-function _fix_gpc_magic(&$item) {
-  if (is_array($item)) {
-    array_walk($item, '_fix_gpc_magic');
-  }
-  else {
-    $item = stripslashes($item);
-  }
-}
-
-/**
- * Strips slashes from $_FILES items.
- *
- * Callback for array_walk() within fix_gpc_magic().
- *
- * The tmp_name key is skipped keys since PHP generates single backslashes for
- * file paths on Windows systems.
- *
- * @param $item
- *   An item from $_FILES.
- * @param $key
- *   The key for the item within $_FILES.
- *
- * @see http://php.net/manual/features.file-upload.php#42280
- */
-function _fix_gpc_magic_files(&$item, $key) {
-  if ($key != 'tmp_name') {
-    if (is_array($item)) {
-      array_walk($item, '_fix_gpc_magic_files');
-    }
-    else {
-      $item = stripslashes($item);
-    }
-  }
-}
-
-/**
- * Fixes double-escaping caused by "magic quotes" in some PHP installations.
- *
- * @see _fix_gpc_magic()
- * @see _fix_gpc_magic_files()
- */
-function fix_gpc_magic() {
-  static $fixed = FALSE;
-  if (!$fixed && ini_get('magic_quotes_gpc')) {
-    array_walk($_GET, '_fix_gpc_magic');
-    array_walk($_POST, '_fix_gpc_magic');
-    array_walk($_COOKIE, '_fix_gpc_magic');
-    array_walk($_REQUEST, '_fix_gpc_magic');
-    array_walk($_FILES, '_fix_gpc_magic_files');
-  }
-  $fixed = TRUE;
-}
-
-/**
  * @defgroup validation Input validation
  * @{
  * Functions to validate user input.
@@ -5169,7 +5108,6 @@ function _drupal_bootstrap_full() {
   require_once DRUPAL_ROOT . '/' . variable_get('menu_inc', 'core/includes/menu.inc');
   require_once DRUPAL_ROOT . '/core/includes/tablesort.inc';
   require_once DRUPAL_ROOT . '/core/includes/file.inc';
-  require_once DRUPAL_ROOT . '/core/includes/unicode.inc';
   require_once DRUPAL_ROOT . '/core/includes/image.inc';
   require_once DRUPAL_ROOT . '/core/includes/form.inc';
   require_once DRUPAL_ROOT . '/core/includes/mail.inc';
@@ -5179,10 +5117,6 @@ function _drupal_bootstrap_full() {
   require_once DRUPAL_ROOT . '/core/includes/errors.inc';
   require_once DRUPAL_ROOT . '/core/includes/schema.inc';
 
-  // Detect string handling method
-  unicode_check();
-  // Undo magic quotes
-  fix_gpc_magic();
   // Load all enabled modules
   module_load_all();
   // Make sure all stream wrappers are registered.
