diff --git a/core/tests/Drupal/KernelTests/Core/Bootstrap/ShutdownFunctionTest.php b/core/tests/Drupal/KernelTests/Core/Bootstrap/ShutdownFunctionTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..e8d7dad85ff53cd2048796892e158e6510b87b06
--- /dev/null
+++ b/core/tests/Drupal/KernelTests/Core/Bootstrap/ShutdownFunctionTest.php
@@ -0,0 +1,64 @@
+<?php
+
+namespace Drupal\KernelTests\Core\Bootstrap;
+
+use Drupal\KernelTests\KernelTestBase;
+
+/**
+ * Tests
+ *
+ * @group Bootstrap
+ */
+class ShutdownFunctionTest extends KernelTestBase {
+
+  /**
+   * Flag to indicate if ::shutdownOne() called.
+   *
+   * @var bool
+   */
+  protected $shutDownOneCalled = FALSE;
+
+  /**
+   * Flag to indicate if ::shutdownTwo() called.
+   *
+   * @var bool
+   */
+  protected $shutDownTwoCalled = FALSE;
+
+  /**
+   * Tests that shutdown functions can be added by other shutdown functions.
+   */
+  public function testShutdownFunctionInShutdownFunction() {
+    // Ensure there are no shutdown functions registered before starting the
+    // test.
+    $this->assertEmpty(drupal_register_shutdown_function());
+    // Register a shutdown function that, when called, will register another
+    // shutdown function.
+    drupal_register_shutdown_function([$this, 'shutdownOne']);
+    $this->assertCount(1, drupal_register_shutdown_function());
+
+    // Simulate the Drupal shutdown.
+    _drupal_shutdown_function();
+
+    // Test that the expected functions are called.
+    $this->assertTrue($this->shutDownOneCalled);
+    $this->assertTrue($this->shutDownTwoCalled);
+    $this->assertCount(2, drupal_register_shutdown_function());
+  }
+
+  /**
+   * Tests shutdown functions by registering another shutdown function.
+   */
+  public function shutdownOne() {
+    drupal_register_shutdown_function([$this, 'shutdownTwo']);
+    $this->shutDownOneCalled = TRUE;
+  }
+
+  /**
+   * Tests shutdown functions by being registered during shutdown.
+   */
+  public function shutdownTwo() {
+    $this->shutDownTwoCalled = TRUE;
+  }
+
+}