diff --git a/core/lib/Drupal/Component/Plugin/LazyPluginCollection.php b/core/lib/Drupal/Component/Plugin/LazyPluginCollection.php
index 0564da0..911eecc 100644
--- a/core/lib/Drupal/Component/Plugin/LazyPluginCollection.php
+++ b/core/lib/Drupal/Component/Plugin/LazyPluginCollection.php
@@ -196,4 +196,13 @@ public function count() {
     return count($this->instanceIDs);
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function __sleep() {
+    // Do not serialize instantiated plugins.
+    $this->pluginInstances = array();
+    return array_keys(get_object_vars($this));
+  }
+
 }
diff --git a/core/lib/Drupal/Core/Site/Settings.php b/core/lib/Drupal/Core/Site/Settings.php
index 4fe80b3..2c0baa3 100644
--- a/core/lib/Drupal/Core/Site/Settings.php
+++ b/core/lib/Drupal/Core/Site/Settings.php
@@ -54,6 +54,20 @@ public static function getInstance() {
   }
 
   /**
+   * Protects creating with clone.
+   */
+  private function __clone() {
+    return self::$instance;
+  }
+
+  /**
+   * Protects creating with unserialize.
+   */
+  public function __wakeup() {
+    return self::$instance;
+  }
+
+  /**
    * Returns a setting.
    *
    * Settings can be set in settings.php in the $settings array and requested
