diff --git a/core/modules/field_ui/src/Element/FieldUiTable.php b/core/modules/field_ui/src/Element/FieldUiTable.php
index 8dee40d7333a8703f7dbbdada0a9ccd2e9253676..f921398d04e07cb087b786b339d6c3a6d1853cb9 100644
--- a/core/modules/field_ui/src/Element/FieldUiTable.php
+++ b/core/modules/field_ui/src/Element/FieldUiTable.php
@@ -225,7 +225,7 @@ public static function preRenderRegionRows($elements) {
    */
   public static function reduceOrder($array, $a) {
     $array = !$array ? [] : $array;
-    if ($a['name']) {
+    if (!empty($a['name'])) {
       $array[] = $a['name'];
     }
     if (!empty($a['children'])) {
diff --git a/core/modules/field_ui/tests/src/Unit/FieldUiTableTest.php b/core/modules/field_ui/tests/src/Unit/FieldUiTableTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..ae8d8bff547920eb2433eecfb322d01b90111d14
--- /dev/null
+++ b/core/modules/field_ui/tests/src/Unit/FieldUiTableTest.php
@@ -0,0 +1,90 @@
+<?php
+
+namespace Drupal\Tests\field_ui\Unit;
+
+use Drupal\Tests\UnitTestCase;
+
+/**
+ * @coversDefaultClass \Drupal\field_ui\Element\FieldUiTable
+ *
+ * @group field_ui
+ */
+class FieldUiTableTest extends UnitTestCase {
+
+  /**
+   * @covers ::reduceOrder
+   *
+   * @dataProvider providerTestReduceOrder
+   */
+  public function testReduceOrder($array, $expected) {
+    $this->assertSame($expected, array_reduce($array, ['Drupal\field_ui\Element\FieldUiTable', 'reduceOrder']));
+  }
+
+  /**
+   * Provides test data for testReduceOrder().
+   */
+  public function providerTestReduceOrder() {
+    return [
+      'Flat' => [
+        'array' => [
+          [
+            'name' => 'foo',
+          ],
+          [
+            'name' => 'bar',
+          ],
+          [
+            'name' => 'baz',
+          ],
+        ],
+        'expected' => ['foo', 'bar', 'baz'],
+      ],
+      'Nested' => [
+        'array' => [
+          [
+            'name' => 'foo',
+            'children' => [
+              [
+                'name' => 'bar',
+                'weight' => 0,
+              ],
+              [
+                'name' => 'baz',
+                'weight' => -1,
+              ],
+            ],
+          ],
+          [
+            'name' => 'biz',
+          ],
+        ],
+        'expected' => ['foo', 'baz', 'bar', 'biz'],
+      ],
+      'Nested no name key' => [
+        'array' => [
+          [
+            'children' => [
+              [
+                'name' => 'foo',
+                'weight' => -1,
+              ],
+              [
+                'name' => 'bar',
+                'weight' => 1,
+              ],
+              [
+                'name' => 'baz',
+                'weight' => 0,
+              ],
+            ],
+          ],
+          [
+            'name' => 'biz',
+          ],
+        ],
+        'expected' => ['foo', 'baz', 'bar', 'biz'],
+      ],
+    ];
+  }
+
+}