diff --git a/typo3/sysext/backend/Classes/Form/FormDataProvider/TcaSelectTreeItems.php b/typo3/sysext/backend/Classes/Form/FormDataProvider/TcaSelectTreeItems.php
index 0af0f80..cdef215 100644
--- a/typo3/sysext/backend/Classes/Form/FormDataProvider/TcaSelectTreeItems.php
+++ b/typo3/sysext/backend/Classes/Form/FormDataProvider/TcaSelectTreeItems.php
@@ -117,16 +117,18 @@ class TcaSelectTreeItems extends AbstractItemProvider implements FormDataProvide
         $treeDataProvider->setItemWhiteList($allowedUids);
         $treeDataProvider->initializeTreeData();
 
-        /** @var ExtJsArrayTreeRenderer $treeRenderer */
-        $treeRenderer = GeneralUtility::makeInstance(ExtJsArrayTreeRenderer::class);
-
-        /** @var TableConfigurationTree $tree */
-        $tree = GeneralUtility::makeInstance(TableConfigurationTree::class);
-        $tree->setDataProvider($treeDataProvider);
-        $tree->setNodeRenderer($treeRenderer);
-
         $treeItems = $this->prepareAdditionalItems($staticItems, $result['databaseRow'][$fieldName]);
-        $treeItems[] = $tree->render();
+        $rootNode = $treeDataProvider->getRoot();
+        if (!$rootNode->isInvalidRootNode()) {
+            /** @var ExtJsArrayTreeRenderer $treeRenderer */
+            $treeRenderer = GeneralUtility::makeInstance(ExtJsArrayTreeRenderer::class);
+
+            /** @var TableConfigurationTree $tree */
+            $tree = GeneralUtility::makeInstance(TableConfigurationTree::class);
+            $tree->setDataProvider($treeDataProvider);
+            $tree->setNodeRenderer($treeRenderer);
+            $treeItems[] = $tree->render();
+        }
 
         $treeConfig = [
             'items' => $treeItems,
diff --git a/typo3/sysext/backend/Classes/Security/CategoryPermissionsAspect.php b/typo3/sysext/backend/Classes/Security/CategoryPermissionsAspect.php
index e385d08..2b02a42 100644
--- a/typo3/sysext/backend/Classes/Security/CategoryPermissionsAspect.php
+++ b/typo3/sysext/backend/Classes/Security/CategoryPermissionsAspect.php
@@ -18,6 +18,7 @@ use TYPO3\CMS\Backend\Tree\TreeNode;
 use TYPO3\CMS\Backend\Tree\TreeNodeCollection;
 use TYPO3\CMS\Core\Authentication\BackendUserAuthentication;
 use TYPO3\CMS\Core\Tree\TableConfiguration\DatabaseTreeDataProvider;
+use TYPO3\CMS\Core\Utility\GeneralUtility;
 
 /**
  * We do not have AOP in TYPO3 for now, thus the aspect which
@@ -56,10 +57,21 @@ class CategoryPermissionsAspect
     public function addUserPermissionsToCategoryTreeData(DatabaseTreeDataProvider $dataProvider, $treeData)
     {
         if (!$this->backendUserAuthentication->isAdmin() && $dataProvider->getTableName() === $this->categoryTableName) {
-
             // Get User permissions related to category
             $categoryMountPoints = $this->backendUserAuthentication->getCategoryMountPoints();
 
+            if (!empty($categoryMountPoints)) {
+                $rootNodeId = (int)$treeData->getId();
+                $rootLineOfRootNode = [];
+                if ($rootNodeId !== 0) {
+                    $rootLineOfRootNode = $this->getParentIdsOfNode($rootNodeId);
+                    $rootLineOfRootNode[] = $rootNodeId;
+                }
+                if (empty(array_intersect($rootLineOfRootNode, $categoryMountPoints))) {
+                    $treeData->setInvalidRootNode(true);
+                }
+            }
+
             // Backup child nodes to be processed.
             $treeNodeCollection = $treeData->getChildNodes();
 
@@ -86,6 +98,21 @@ class CategoryPermissionsAspect
         }
     }
 
+    protected function getParentIdsOfNode($id)
+    {
+        $parentIds = [];
+        $database = $this->getDatabase();
+        $parent = $database->exec_SELECTgetSingleRow('parent', 'sys_category', 'uid=' . (int)$id . \TYPO3\CMS\Backend\Utility\BackendUtility::deleteClause($this->categoryTableName));
+        if (isset($parent['parent'])) {
+            $parentId = (int)$parent['parent'];
+            if ($parent > 0) {
+                $parentIds = $this->getParentIdsOfNode($parent['parent']);
+            }
+            $parentIds[] = $parentId;
+        }
+        return $parentIds;
+    }
+
     /**
      * Recursively look up for a category mount point within a tree.
      *
@@ -118,4 +145,14 @@ class CategoryPermissionsAspect
         }
         return $result;
     }
+
+    /**
+     * Return database connection
+     *
+     * @return \TYPO3\CMS\Core\Database\DatabaseConnection
+     */
+    protected function getDatabase()
+    {
+        return $GLOBALS['TYPO3_DB'];
+    }
 }
diff --git a/typo3/sysext/backend/Classes/Tree/TreeNode.php b/typo3/sysext/backend/Classes/Tree/TreeNode.php
index 06cd811..1a2a579 100644
--- a/typo3/sysext/backend/Classes/Tree/TreeNode.php
+++ b/typo3/sysext/backend/Classes/Tree/TreeNode.php
@@ -43,6 +43,13 @@ class TreeNode implements \TYPO3\CMS\Backend\Tree\ComparableNodeInterface, \Seri
     protected $childNodes = null;
 
     /**
+     * Set to TRUE if a root node is handled a user has no access to.
+     *
+     * @var bool
+     */
+    protected $invalidRootNode = false;
+
+    /**
      * Constructor
      *
      * You can move an initial data array to initialize the instance and further objects.
@@ -147,6 +154,26 @@ class TreeNode implements \TYPO3\CMS\Backend\Tree\ComparableNodeInterface, \Seri
     }
 
     /**
+     * Set invalid root node
+     *
+     * @param bool $invalid
+     */
+    public function setInvalidRootNode($invalid)
+    {
+        $this->invalidRootNode = (bool)$invalid;
+    }
+
+    /**
+     * Return true if root node is invalid
+     *
+     * @return bool
+     */
+    public function isInvalidRootNode()
+    {
+        return $this->invalidRootNode;
+    }
+
+    /**
      * Compares a node if it's identical to another node by the id property.
      *
      * @param \TYPO3\CMS\Backend\Tree\TreeNode $other
diff --git a/typo3/sysext/core/Classes/Tree/TableConfiguration/DatabaseTreeDataProvider.php b/typo3/sysext/core/Classes/Tree/TableConfiguration/DatabaseTreeDataProvider.php
index b3bc30e..a97e9c8 100644
--- a/typo3/sysext/core/Classes/Tree/TableConfiguration/DatabaseTreeDataProvider.php
+++ b/typo3/sysext/core/Classes/Tree/TableConfiguration/DatabaseTreeDataProvider.php
@@ -267,6 +267,7 @@ class DatabaseTreeDataProvider extends AbstractTableConfigurationTreeDataProvide
         $iconFactory = GeneralUtility::makeInstance(IconFactory::class);
         $node->setIcon($iconFactory->getIconForRecord($this->tableName, $row, Icon::SIZE_SMALL));
         $node->setParentNode($parent);
+        $node->setInvalidRootNode($basicNode->isInvalidRootNode());
         if ($basicNode->hasChildNodes()) {
             $node->setHasChildren(true);
             /** @var $childNodes \TYPO3\CMS\Backend\Tree\SortedTreeNodeCollection */
