diff --git a/core/tests/Drupal/FunctionalTests/Update/UpdatePathTestBaseTest.php b/core/tests/Drupal/FunctionalTests/Update/UpdatePathTestBaseTest.php
index 002749547e..c83a72f6bf 100644
--- a/core/tests/Drupal/FunctionalTests/Update/UpdatePathTestBaseTest.php
+++ b/core/tests/Drupal/FunctionalTests/Update/UpdatePathTestBaseTest.php
@@ -91,6 +91,12 @@ public function testUpdateHookN() {
     \Drupal::state()->set('update_test_schema_version', 8001);
     $this->runUpdates();
 
+    // Ensure that after running the updates the update functions have been
+    // loaded. If they have not then the tests carried out in
+    // \Drupal\Tests\UpdatePathTestTrait::runUpdates() can result in false
+    // positives.
+    $this->assertTrue(function_exists('update_test_semver_update_n_update_8001'), 'The update_test_semver_update_n_update_8001() has been loaded');
+
     $select = $connection->select('watchdog');
     $select->orderBy('wid', 'DESC');
     $select->range(0, 5);
diff --git a/core/tests/Drupal/Tests/UpdatePathTestTrait.php b/core/tests/Drupal/Tests/UpdatePathTestTrait.php
index ecdb20b484..0abf1cc477 100644
--- a/core/tests/Drupal/Tests/UpdatePathTestTrait.php
+++ b/core/tests/Drupal/Tests/UpdatePathTestTrait.php
@@ -63,6 +63,7 @@ protected function runUpdates($update_url = NULL) {
       foreach (['update', 'post_update'] as $update_type) {
         switch ($update_type) {
           case 'update':
+            drupal_load_updates();
             $all_updates = update_get_update_list();
             break;
 
