diff --git a/typo3/sysext/form/Resources/Public/JavaScript/Backend/FormEditor/TreeComponent.js b/typo3/sysext/form/Resources/Public/JavaScript/Backend/FormEditor/TreeComponent.js
index 03a45127fc9509c0417ed09d93d649b26381f73d..1d58a73d9fbeff9cdb80c9f9bfccb80fcac42f5e 100644
--- a/typo3/sysext/form/Resources/Public/JavaScript/Backend/FormEditor/TreeComponent.js
+++ b/typo3/sysext/form/Resources/Public/JavaScript/Backend/FormEditor/TreeComponent.js
@@ -317,12 +317,23 @@ define(['jquery',
                 isAllowed: function (placeholder, placeholderParent, currentItem) {
                     var formElementIdentifierPath, formElementTypeDefinition, targetFormElementIdentifierPath, targetFormElementTypeDefinition;
 
+                    if (typeof placeholderParent === 'undefined') {
+                        return true;
+                    }
+
                     formElementIdentifierPath = getTreeNodeIdentifierPathWithinDomElement($(currentItem));
                     targetFormElementIdentifierPath = getTreeNodeIdentifierPathWithinDomElement($(placeholderParent));
 
                     formElementTypeDefinition = getFormElementDefinition(formElementIdentifierPath);
                     targetFormElementTypeDefinition = getFormElementDefinition(targetFormElementIdentifierPath);
 
+                    if (
+                        targetFormElementTypeDefinition['_isTopLevelFormElement']
+                        && !targetFormElementTypeDefinition['_isCompositeFormElement']
+                    ) {
+                        return false;
+                    }
+
                     if (
                         formElementTypeDefinition['_isGridContainerFormElement']
                         && (