diff --git a/core/modules/system/tests/modules/update_test_schema/update_test_schema.install b/core/modules/system/tests/modules/update_test_schema/update_test_schema.install
index 972f901761..5434ab26cc 100644
--- a/core/modules/system/tests/modules/update_test_schema/update_test_schema.install
+++ b/core/modules/system/tests/modules/update_test_schema/update_test_schema.install
@@ -46,3 +46,34 @@ function update_test_schema_update_8001() {
     db_add_index('update_test_schema_table', 'test', ['a'], $table);
   }
 }
+
+if ($schema_version >= 810001) {
+  $state_key = 'update_test_schema_high_schema';
+
+  /**
+   * Schema version 8002.
+   */
+  function update_test_schema_update_8002() {
+    $log = \Drupal::state()->get(__FUNCTION__, []);
+    $log[] = __FUNCTION__;
+    \Drupal::state()->set($log, TRUE);
+  }
+
+  /**
+   * Schema version 8301.
+   */
+  function update_test_schema_update_8301() {
+    $log = \Drupal::state()->get(__FUNCTION__, []);
+    $log[] = __FUNCTION__;
+    \Drupal::state()->set($log, TRUE);
+  }
+
+  /**
+   * Schema version 810001.
+   */
+  function update_test_schema_update_810001() {
+    $log = \Drupal::state()->get(__FUNCTION__, []);
+    $log[] = __FUNCTION__;
+    \Drupal::state()->set($log, TRUE);
+  }
+}
diff --git a/core/tests/Drupal/FunctionalTests/Update/UpdatePathTestBaseTest.php b/core/tests/Drupal/FunctionalTests/Update/UpdatePathTestBaseTest.php
index a375db7e8c..7205e3e26d 100644
--- a/core/tests/Drupal/FunctionalTests/Update/UpdatePathTestBaseTest.php
+++ b/core/tests/Drupal/FunctionalTests/Update/UpdatePathTestBaseTest.php
@@ -94,4 +94,18 @@ public function testUpdateHookN() {
     $this->assertTrue(db_index_exists('update_test_schema_table', 'test'), 'Version 8001 of the update_test_schema module is installed.');
   }
 
+  /**
+   * Test that high updates are still executed.
+   */
+  public function testUpdateHighHookN() {
+    // Increment the schema version.
+    \Drupal::state()->set('update_test_schema_version', 810001);
+    $this->runUpdates();
+
+    // Ensure schema has changed.
+    $this->assertEquals(810001, drupal_get_installed_schema_version('update_test_schema', TRUE));
+    // Ensure all previous functions got executed as well.
+    $this->assertEquals(['update_test_schema_update_8002', 'update_test_schema_update_8301', 'update_test_schema_update_810001'], \Drupal::state()->get('update_test_schema_high_schema'));
+  }
+
 }
diff --git a/core/tests/Drupal/KernelTests/Setup/Commands/SetupDrupalTestScriptTest.php b/core/tests/Drupal/KernelTests/Setup/Commands/SetupDrupalTestScriptTest.php
index b8236f9b3f..6f3c2f3800 100644
--- a/core/tests/Drupal/KernelTests/Setup/Commands/SetupDrupalTestScriptTest.php
+++ b/core/tests/Drupal/KernelTests/Setup/Commands/SetupDrupalTestScriptTest.php
@@ -2,6 +2,7 @@
 
 namespace Drupal\KernelTests\Setup\Commands;
 
+use Drupal\Core\Database\Database;
 use Drupal\KernelTests\KernelTestBase;
 use Drupal\Setup\Commands\TestInstallationSetupApplication;
 use Drupal\Setup\SetupDrupalTestScript;
@@ -96,6 +97,8 @@ public function testInstallScript() {
     $this->assertRegExp('/simpletest/', $app_tester->getDisplay());
     $this->assertEqual(0, $app_tester->getStatusCode());
 
+    list($test_db_prefix) = explode(':', $app_tester->getDisplay(), 2);
+
     $http_client = new Client();
     $request = (new Request('GET', getenv('SIMPLETEST_BASE_URL') . '/test-page'))
       ->withHeader('User-Agent', trim($app_tester->getDisplay()));
@@ -105,15 +108,27 @@ public function testInstallScript() {
     $this->assertContains('Test page | Drupal', (string) $response->getBody());
 
     // Now test the tear down process as well.
+    $this->assertHasTables();
     $app_tester->run(
       [
         'command' => 'teardown-drupal-test',
-        'db_prefix' => $this->databasePrefix,
+        'db_prefix' => $test_db_prefix,
       ],
       [
         'interactive' => FALSE,
       ]
     );
+    $this->assertHasNoTables();
+  }
+
+  public function assertHasTables() {
+    $tables = Database::getConnection()->schema()->findTables('%');
+    $this->assertNotEmpty($tables);
+  }
+
+  public function assertHasNoTables() {
+    $tables = Database::getConnection()->schema()->findTables('%');
+    $this->assertEmpty($tables);
   }
 
 }
