diff --git a/typo3/sysext/backend/Classes/Form/FormDataProvider/TcaColumnsProcessCommon.php b/typo3/sysext/backend/Classes/Form/FormDataProvider/TcaColumnsProcessCommon.php
index 730d9522c9260321d5b29419e53a2eef2f4c7e30..f54258869d6d3b6a8076bf2149a6256156139e6c 100644
--- a/typo3/sysext/backend/Classes/Form/FormDataProvider/TcaColumnsProcessCommon.php
+++ b/typo3/sysext/backend/Classes/Form/FormDataProvider/TcaColumnsProcessCommon.php
@@ -65,10 +65,11 @@ class TcaColumnsProcessCommon implements FormDataProviderInterface
         $recordTypeValue = $result['recordTypeValue'];
         if (!empty($result['processedTca']['types'][$recordTypeValue]['subtype_value_field'])) {
             $subtypeFieldName = $result['processedTca']['types'][$recordTypeValue]['subtype_value_field'];
-            if (!empty($result['processedTca']['types'][$recordTypeValue]['subtypes_addlist'][$result['databaseRow'][$subtypeFieldName]])) {
+            $fieldName = $result['databaseRow'][$subtypeFieldName] ?? null;
+            if ($fieldName !== null && !empty($result['processedTca']['types'][$recordTypeValue]['subtypes_addlist'][$fieldName])) {
                 $fields = GeneralUtility::trimExplode(
                     ',',
-                    $result['processedTca']['types'][$recordTypeValue]['subtypes_addlist'][$result['databaseRow'][$subtypeFieldName]],
+                    $result['processedTca']['types'][$recordTypeValue]['subtypes_addlist'][$fieldName],
                     true
                 );
                 foreach ($fields as $field) {