diff --git a/typo3/sysext/backend/Classes/Tree/Pagetree/ExtdirectTreeDataProvider.php b/typo3/sysext/backend/Classes/Tree/Pagetree/ExtdirectTreeDataProvider.php
index 8dd5dcd5400857f9e13ed9b8401493dad886a584..defbcfa633a827895e653ae38b9dd671699dcdb0 100644
--- a/typo3/sysext/backend/Classes/Tree/Pagetree/ExtdirectTreeDataProvider.php
+++ b/typo3/sysext/backend/Classes/Tree/Pagetree/ExtdirectTreeDataProvider.php
@@ -125,8 +125,12 @@ class ExtdirectTreeDataProvider extends \TYPO3\CMS\Backend\Tree\AbstractExtJsTre
 		}
 		$doktypes = GeneralUtility::trimExplode(',', $GLOBALS['BE_USER']->getTSConfigVal('options.pageTree.doktypesToShowInNewPageDragArea'));
 		$output = array();
-		$allowedDoktypes = GeneralUtility::trimExplode(',', $GLOBALS['BE_USER']->groupData['pagetypes_select']);
+		$allowedDoktypes = GeneralUtility::trimExplode(',', $GLOBALS['BE_USER']->groupData['pagetypes_select'], TRUE);
 		$isAdmin = $GLOBALS['BE_USER']->isAdmin();
+		// Early return if backend user may not create any doktype
+		if (!$isAdmin && empty($allowedDoktypes)) {
+			return $output;
+		}
 		foreach ($doktypes as $doktype) {
 			if (!$isAdmin && !in_array($doktype, $allowedDoktypes)) {
 				continue;
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/extjs/components/pagetree/javascript/toppanel.js b/typo3/sysext/backend/Resources/Public/JavaScript/extjs/components/pagetree/javascript/toppanel.js
index db418ec2a456d03a1357c9bb530ddeb1c83456fb..0015a046d5f8767aaf483f0ecdc3cdd27ef7e327 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/extjs/components/pagetree/javascript/toppanel.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/extjs/components/pagetree/javascript/toppanel.js
@@ -426,18 +426,23 @@ TYPO3.Components.PageTree.TopPanel = Ext.extend(Ext.Panel, {
 		});
 
 		this.dataProvider.getNodeTypes(function(response) {
-			for (var i = 0; i < response.length; ++i) {
-				response[i].template = this.getButtonTemplate();
-				newNodeToolbar.addItem(response[i]);
+			var amountOfNodeTypes = response.length;
+			if (amountOfNodeTypes > 0) {
+				topPanelButton.show();
+				for (var i = 0; i < amountOfNodeTypes; ++i) {
+					response[i].template = this.getButtonTemplate();
+					newNodeToolbar.addItem(response[i]);
+				}
+				newNodeToolbar.doLayout();
 			}
-			newNodeToolbar.doLayout();
 		}, this);
 
 		var topPanelButton = new Ext.Button({
 			id: this.id + '-button-newNode',
 			cls: this.id + '-button',
 			text: TYPO3.Components.PageTree.Icons.NewNode,
-			tooltip: TYPO3.Components.PageTree.LLL.buttonNewNode
+			tooltip: TYPO3.Components.PageTree.LLL.buttonNewNode,
+			hidden: true
 		});
 
 		this.addButton(topPanelButton, newNodeToolbar);