diff --git a/core/lib/Drupal/Core/Database/StatementPrefetch.php b/core/lib/Drupal/Core/Database/StatementPrefetch.php
index 814653b3ce2bcded8ae0236d7236e0810c133d70..4294b72d26ef5ae07a7e915f2f4229edd53f2e34 100644
--- a/core/lib/Drupal/Core/Database/StatementPrefetch.php
+++ b/core/lib/Drupal/Core/Database/StatementPrefetch.php
@@ -417,7 +417,10 @@ public function fetchObject($class_name = NULL, $constructor_args = []) {
       }
       else {
         $this->fetchStyle = \PDO::FETCH_CLASS;
-        $this->fetchOptions = ['constructor_args' => $constructor_args];
+        $this->fetchOptions = [
+          'class' => $class_name,
+          'constructor_args' => $constructor_args,
+        ];
         // Grab the row in the format specified above.
         $result = $this->current();
         // Reset the fetch parameters to the value stored using setFetchMode().
diff --git a/core/tests/Drupal/KernelTests/Core/Database/FetchTest.php b/core/tests/Drupal/KernelTests/Core/Database/FetchTest.php
index a8b25c54bd4c183226e29a5d57b30ddc5d48c061..b0023ec0b82f6a74e46c29bfb29f26bd011df24e 100644
--- a/core/tests/Drupal/KernelTests/Core/Database/FetchTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Database/FetchTest.php
@@ -80,6 +80,23 @@ public function testQueryFetchClass() {
     $this->assertIdentical(count($records), 1, 'There is only one record.');
   }
 
+  /**
+   * Confirms that we can fetch a record into a class using fetchObject.
+   *
+   * @see \Drupal\system\Tests\Database\FakeRecord
+   * @see \Drupal\Core\Database\StatementPrefech::fetchObject
+   */
+  public function testQueryFetchObjectClass() {
+    $records = 0;
+    $query = $this->connection->query('SELECT name FROM {test} WHERE age = :age', [':age' => 25]);
+    while ($result = $query->fetchObject(FakeRecord::class)) {
+      $records += 1;
+      $this->assertInstanceOf(FakeRecord::class, $result);
+      $this->assertSame('John', $result->name, '25 year old is John.');
+    }
+    $this->assertSame(1, $records, 'There is only one record.');
+  }
+
   /**
    * Confirms that we can fetch a record into a new instance of a custom class.
    * The name of the class is determined from a value of the first column.