diff --git a/typo3/db_new.php b/typo3/db_new.php
index 2c362695f0a937ade9775e8d30493749caccf8f8..d0c84882f762860761bdba708cce31d3b6bef398 100644
--- a/typo3/db_new.php
+++ b/typo3/db_new.php
@@ -40,7 +40,7 @@ require __DIR__ . '/init.php';
  *
  * @author Kasper Skårhøj <kasperYYYY@typo3.com>
  */
-class localPageTree extends \TYPO3\CMS\Backend\Tree\View\PageTreeView {
+class newRecordLocalPageTree extends \TYPO3\CMS\Backend\Tree\View\PageTreeView {
 
 	/**
 	 * Inserting uid-information in title-text for an icon
diff --git a/typo3/move_el.php b/typo3/move_el.php
index c8e3fdf7fb868ca74f453fd4b852d67aa33d4a3a..f0a61f37656d3414258b396451b34a1d5d26e506 100644
--- a/typo3/move_el.php
+++ b/typo3/move_el.php
@@ -38,7 +38,7 @@ require __DIR__ . '/init.php';
  *
  * @author Kasper Skårhøj <kasperYYYY@typo3.com>
  */
-class localPageTree extends \TYPO3\CMS\Backend\Tree\View\PageTreeView {
+class moveElementLocalPageTree extends \TYPO3\CMS\Backend\Tree\View\PageTreeView {
 
 	/**
 	 * Inserting uid-information in title-text for an icon
@@ -66,6 +66,13 @@ class ext_posMap_pages extends \TYPO3\CMS\Backend\Tree\View\PagePositionMap {
 	 */
 	public $l_insertNewPageHere = 'movePageToHere';
 
+	/**
+	 * Page tree implementation class name
+	 *
+	 * @var string
+	 */
+	protected $pageTreeClassName = 'moveElementLocalPageTree';
+
 	/**
 	 * Creates the onclick event for the insert-icons.
 	 *
@@ -118,6 +125,13 @@ class ext_posMap_tt_content extends \TYPO3\CMS\Backend\Tree\View\PagePositionMap
 	 */
 	public $dontPrintPageInsertIcons = 1;
 
+	/**
+	 * Page tree implementation class name
+	 *
+	 * @var string
+	 */
+	protected $pageTreeClassName = 'moveElementLocalPageTree';
+
 	/**
 	 * Wrapping page title.
 	 *
diff --git a/typo3/sysext/backend/Classes/Controller/NewRecordController.php b/typo3/sysext/backend/Classes/Controller/NewRecordController.php
index e943b49be98b93400ec4c2cbafbca0bbb4db57cc..fd314045eae7abe1378086ab834cd6c9d8e6ef75 100644
--- a/typo3/sysext/backend/Classes/Controller/NewRecordController.php
+++ b/typo3/sysext/backend/Classes/Controller/NewRecordController.php
@@ -330,7 +330,7 @@ class NewRecordController {
 			$this->code .= '
 				<h3>' . htmlspecialchars($GLOBALS['LANG']->getLL('selectPosition')) . ':</h3>
 			';
-			$positionMap = GeneralUtility::makeInstance('TYPO3\\CMS\\Backend\\Tree\\View\\PagePositionMap');
+			$positionMap = GeneralUtility::makeInstance('TYPO3\\CMS\\Backend\\Tree\\View\\PagePositionMap', 'newRecordLocalPageTree');
 			/** @var $positionMap \TYPO3\CMS\Backend\Tree\View\PagePositionMap */
 			$this->code .= $positionMap->positionTree($this->id, $this->pageinfo, $this->perms_clause, $this->R_URI);
 		} else {
diff --git a/typo3/sysext/backend/Classes/Tree/View/PagePositionMap.php b/typo3/sysext/backend/Classes/Tree/View/PagePositionMap.php
index 5693397426a3da9eb37ffc2ff8da663858ca27d7..43f37733075e4996eb263e109a8b5662c42cb8b1 100644
--- a/typo3/sysext/backend/Classes/Tree/View/PagePositionMap.php
+++ b/typo3/sysext/backend/Classes/Tree/View/PagePositionMap.php
@@ -114,6 +114,24 @@ class PagePositionMap {
 	 */
 	public $modConfigStr = 'mod.web_list.newPageWiz';
 
+	/**
+	 * Page tree implementation class name
+	 *
+	 * @var string
+	 */
+	protected $pageTreeClassName = 'localPageTree';
+
+	/**
+	 * Constructor allowing to set pageTreeImplementation
+	 *
+	 * @param string $pageTreeClassName
+	 */
+	public function __construct($pageTreeClassName = NULL) {
+		if ($pageTreeClassName !== NULL) {
+			$this->pageTreeClassName = $pageTreeClassName;
+		}
+	}
+
 	/*************************************
 	 *
 	 * Page position map:
@@ -121,8 +139,6 @@ class PagePositionMap {
 	 **************************************/
 	/**
 	 * Creates a "position tree" based on the page tree.
-	 * Notice: A class, "localPageTree" must exist and probably it is an extension class of the
-	 * \TYPO3\CMS\Backend\Tree\View\PageTreeView class. See "db_new.php" in the core for an example.
 	 *
 	 * @param integer $id Current page id
 	 * @param array $pageinfo Current page record.
@@ -134,8 +150,8 @@ class PagePositionMap {
 	public function positionTree($id, $pageinfo, $perms_clause, $R_URI) {
 		$code = '';
 		// Make page tree object:
-		/** @var $t3lib_pageTree localPageTree */
-		$t3lib_pageTree = GeneralUtility::makeInstance('localPageTree');
+		/** @var \TYPO3\CMS\Backend\Tree\View\PageTreeView localPageTree */
+		$t3lib_pageTree = GeneralUtility::makeInstance($this->pageTreeClassName);
 		$t3lib_pageTree->init(' AND ' . $perms_clause);
 		$t3lib_pageTree->addField('pid');
 		// Initialize variables:
diff --git a/typo3/sysext/core/ext_autoload.php b/typo3/sysext/core/ext_autoload.php
index dc223a55badc4acab1397f21b6fbf426e0adeb96..cf4b34e05934a8f5eb73dabe8e6f56a9fcb8eefa 100644
--- a/typo3/sysext/core/ext_autoload.php
+++ b/typo3/sysext/core/ext_autoload.php
@@ -4,11 +4,14 @@
 $typo3Classes = array(
 	'ext_posmap_pages' => PATH_typo3 . 'move_el.php',
 	'ext_posmap_tt_content' => PATH_typo3 . 'move_el.php',
+	'moveelementlocalpagetree' => PATH_typo3 . 'move_el.php',
+	'newrecordlocalpagetree' => PATH_typo3 . 'db_new.php',
 	'localfoldertree' => PATH_typo3 . 'class.browse_links.php',
 	'rtefoldertree' => PATH_typo3 . 'class.browse_links.php',
 	'rtepagetree' => PATH_typo3 . 'class.browse_links.php',
 	'tbe_foldertree' => PATH_typo3 . 'class.browse_links.php',
 	'tbe_pagetree' => PATH_typo3 . 'class.browse_links.php',
+	'localpagetree' => PATH_typo3 . 'class.browse_links.php',
 	'transferdata' => PATH_typo3 . 'show_item.php',
 	'Psr\\Log\\LoggerInterface' => PATH_typo3 . 'contrib/Psr/Log/LoggerInterface.php',
 	'Psr\\Log\\InvalidArgumentException' => PATH_typo3 . 'contrib/Psr/Log/InvalidArgumentException.php',