diff --git a/composer.json b/composer.json
index ea99a098557bad6f7f0425e0670a07bf2ada1737..fae1c7a221dc5d23ac2924436dee521d587da2f9 100644
--- a/composer.json
+++ b/composer.json
@@ -4,10 +4,8 @@
         "optimize-autoloader": true
     },
     "autoload" : {
-        "psr-0": {
-            "": "lib/private/legacy"
-        },
-        "psr-4": {
+			"psr-4": {
+			"": "lib/private/legacy",
             "OC\\": "lib/private",
             "OC\\Core\\": "core/",
             "OCP\\": "lib/public"
diff --git a/lib/composer/composer/autoload_classmap.php b/lib/composer/composer/autoload_classmap.php
index 8954b883e3b921e647a465f283c01b3f706f8d2e..e4306ca03695971523c884e72f256fa76d548277 100644
--- a/lib/composer/composer/autoload_classmap.php
+++ b/lib/composer/composer/autoload_classmap.php
@@ -1292,20 +1292,20 @@ return array(
     'OC\\User\\NoUserException' => $baseDir . '/lib/private/User/NoUserException.php',
     'OC\\User\\Session' => $baseDir . '/lib/private/User/Session.php',
     'OC\\User\\User' => $baseDir . '/lib/private/User/User.php',
-    'OC_API' => $baseDir . '/lib/private/legacy/api.php',
-    'OC_App' => $baseDir . '/lib/private/legacy/app.php',
-    'OC_DB' => $baseDir . '/lib/private/legacy/db.php',
-    'OC_DB_StatementWrapper' => $baseDir . '/lib/private/legacy/db/statementwrapper.php',
-    'OC_Defaults' => $baseDir . '/lib/private/legacy/defaults.php',
-    'OC_EventSource' => $baseDir . '/lib/private/legacy/eventsource.php',
-    'OC_FileChunking' => $baseDir . '/lib/private/legacy/filechunking.php',
-    'OC_Files' => $baseDir . '/lib/private/legacy/files.php',
-    'OC_Helper' => $baseDir . '/lib/private/legacy/helper.php',
-    'OC_Hook' => $baseDir . '/lib/private/legacy/hook.php',
-    'OC_Image' => $baseDir . '/lib/private/legacy/image.php',
-    'OC_JSON' => $baseDir . '/lib/private/legacy/json.php',
-    'OC_Response' => $baseDir . '/lib/private/legacy/response.php',
-    'OC_Template' => $baseDir . '/lib/private/legacy/template.php',
-    'OC_User' => $baseDir . '/lib/private/legacy/user.php',
-    'OC_Util' => $baseDir . '/lib/private/legacy/util.php',
+    'OC_API' => $baseDir . '/lib/private/legacy/OC_API.php',
+    'OC_App' => $baseDir . '/lib/private/legacy/OC_App.php',
+    'OC_DB' => $baseDir . '/lib/private/legacy/OC_DB.php',
+    'OC_DB_StatementWrapper' => $baseDir . '/lib/private/legacy/OC_DB_StatementWrapper.php',
+    'OC_Defaults' => $baseDir . '/lib/private/legacy/OC_Defaults.php',
+    'OC_EventSource' => $baseDir . '/lib/private/legacy/OC_EventSource.php',
+    'OC_FileChunking' => $baseDir . '/lib/private/legacy/OC_FileChunking.php',
+    'OC_Files' => $baseDir . '/lib/private/legacy/OC_Files.php',
+    'OC_Helper' => $baseDir . '/lib/private/legacy/OC_Helper.php',
+    'OC_Hook' => $baseDir . '/lib/private/legacy/OC_Hook.php',
+    'OC_Image' => $baseDir . '/lib/private/legacy/OC_Image.php',
+    'OC_JSON' => $baseDir . '/lib/private/legacy/OC_JSON.php',
+    'OC_Response' => $baseDir . '/lib/private/legacy/OC_Response.php',
+    'OC_Template' => $baseDir . '/lib/private/legacy/OC_Template.php',
+    'OC_User' => $baseDir . '/lib/private/legacy/OC_User.php',
+    'OC_Util' => $baseDir . '/lib/private/legacy/OC_Util.php',
 );
diff --git a/lib/composer/composer/autoload_namespaces.php b/lib/composer/composer/autoload_namespaces.php
index ca3a13a84f68f3c42de6d2ff3f5cae7f3a1285a9..4a9c20beed0715a492b947b0a858acdf2fe0066d 100644
--- a/lib/composer/composer/autoload_namespaces.php
+++ b/lib/composer/composer/autoload_namespaces.php
@@ -6,5 +6,4 @@ $vendorDir = dirname(dirname(__FILE__));
 $baseDir = dirname(dirname($vendorDir));
 
 return array(
-    '' => array($baseDir . '/lib/private/legacy'),
 );
diff --git a/lib/composer/composer/autoload_psr4.php b/lib/composer/composer/autoload_psr4.php
index 31c762759e39f1a0cc4bc29b495ade9e8f780865..b641d9c6a03195b92c308e6fe4929b1fbd9fe508 100644
--- a/lib/composer/composer/autoload_psr4.php
+++ b/lib/composer/composer/autoload_psr4.php
@@ -9,4 +9,5 @@ return array(
     'OC\\Core\\' => array($baseDir . '/core'),
     'OC\\' => array($baseDir . '/lib/private'),
     'OCP\\' => array($baseDir . '/lib/public'),
+    '' => array($baseDir . '/lib/private/legacy'),
 );
diff --git a/lib/composer/composer/autoload_static.php b/lib/composer/composer/autoload_static.php
index 136562ff75c92933ca9d2f65e069596fb40556c9..abc4a40fd75b4162916795f1ebc51763698ded92 100644
--- a/lib/composer/composer/autoload_static.php
+++ b/lib/composer/composer/autoload_static.php
@@ -30,7 +30,7 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c
         ),
     );
 
-    public static $fallbackDirsPsr0 = array (
+    public static $fallbackDirsPsr4 = array (
         0 => __DIR__ . '/../../..' . '/lib/private/legacy',
     );
 
@@ -1321,22 +1321,22 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c
         'OC\\User\\NoUserException' => __DIR__ . '/../../..' . '/lib/private/User/NoUserException.php',
         'OC\\User\\Session' => __DIR__ . '/../../..' . '/lib/private/User/Session.php',
         'OC\\User\\User' => __DIR__ . '/../../..' . '/lib/private/User/User.php',
-        'OC_API' => __DIR__ . '/../../..' . '/lib/private/legacy/api.php',
-        'OC_App' => __DIR__ . '/../../..' . '/lib/private/legacy/app.php',
-        'OC_DB' => __DIR__ . '/../../..' . '/lib/private/legacy/db.php',
-        'OC_DB_StatementWrapper' => __DIR__ . '/../../..' . '/lib/private/legacy/db/statementwrapper.php',
-        'OC_Defaults' => __DIR__ . '/../../..' . '/lib/private/legacy/defaults.php',
-        'OC_EventSource' => __DIR__ . '/../../..' . '/lib/private/legacy/eventsource.php',
-        'OC_FileChunking' => __DIR__ . '/../../..' . '/lib/private/legacy/filechunking.php',
-        'OC_Files' => __DIR__ . '/../../..' . '/lib/private/legacy/files.php',
-        'OC_Helper' => __DIR__ . '/../../..' . '/lib/private/legacy/helper.php',
-        'OC_Hook' => __DIR__ . '/../../..' . '/lib/private/legacy/hook.php',
-        'OC_Image' => __DIR__ . '/../../..' . '/lib/private/legacy/image.php',
-        'OC_JSON' => __DIR__ . '/../../..' . '/lib/private/legacy/json.php',
-        'OC_Response' => __DIR__ . '/../../..' . '/lib/private/legacy/response.php',
-        'OC_Template' => __DIR__ . '/../../..' . '/lib/private/legacy/template.php',
-        'OC_User' => __DIR__ . '/../../..' . '/lib/private/legacy/user.php',
-        'OC_Util' => __DIR__ . '/../../..' . '/lib/private/legacy/util.php',
+        'OC_API' => __DIR__ . '/../../..' . '/lib/private/legacy/OC_API.php',
+        'OC_App' => __DIR__ . '/../../..' . '/lib/private/legacy/OC_App.php',
+        'OC_DB' => __DIR__ . '/../../..' . '/lib/private/legacy/OC_DB.php',
+        'OC_DB_StatementWrapper' => __DIR__ . '/../../..' . '/lib/private/legacy/OC_DB_StatementWrapper.php',
+        'OC_Defaults' => __DIR__ . '/../../..' . '/lib/private/legacy/OC_Defaults.php',
+        'OC_EventSource' => __DIR__ . '/../../..' . '/lib/private/legacy/OC_EventSource.php',
+        'OC_FileChunking' => __DIR__ . '/../../..' . '/lib/private/legacy/OC_FileChunking.php',
+        'OC_Files' => __DIR__ . '/../../..' . '/lib/private/legacy/OC_Files.php',
+        'OC_Helper' => __DIR__ . '/../../..' . '/lib/private/legacy/OC_Helper.php',
+        'OC_Hook' => __DIR__ . '/../../..' . '/lib/private/legacy/OC_Hook.php',
+        'OC_Image' => __DIR__ . '/../../..' . '/lib/private/legacy/OC_Image.php',
+        'OC_JSON' => __DIR__ . '/../../..' . '/lib/private/legacy/OC_JSON.php',
+        'OC_Response' => __DIR__ . '/../../..' . '/lib/private/legacy/OC_Response.php',
+        'OC_Template' => __DIR__ . '/../../..' . '/lib/private/legacy/OC_Template.php',
+        'OC_User' => __DIR__ . '/../../..' . '/lib/private/legacy/OC_User.php',
+        'OC_Util' => __DIR__ . '/../../..' . '/lib/private/legacy/OC_Util.php',
     );
 
     public static function getInitializer(ClassLoader $loader)
@@ -1344,7 +1344,7 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c
         return \Closure::bind(function () use ($loader) {
             $loader->prefixLengthsPsr4 = ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c::$prefixLengthsPsr4;
             $loader->prefixDirsPsr4 = ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c::$prefixDirsPsr4;
-            $loader->fallbackDirsPsr0 = ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c::$fallbackDirsPsr0;
+            $loader->fallbackDirsPsr4 = ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c::$fallbackDirsPsr4;
             $loader->classMap = ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c::$classMap;
 
         }, null, ClassLoader::class);
diff --git a/lib/private/legacy/api.php b/lib/private/legacy/OC_API.php
similarity index 100%
rename from lib/private/legacy/api.php
rename to lib/private/legacy/OC_API.php
diff --git a/lib/private/legacy/app.php b/lib/private/legacy/OC_App.php
similarity index 100%
rename from lib/private/legacy/app.php
rename to lib/private/legacy/OC_App.php
diff --git a/lib/private/legacy/db.php b/lib/private/legacy/OC_DB.php
similarity index 100%
rename from lib/private/legacy/db.php
rename to lib/private/legacy/OC_DB.php
diff --git a/lib/private/legacy/db/statementwrapper.php b/lib/private/legacy/OC_DB_StatementWrapper.php
similarity index 100%
rename from lib/private/legacy/db/statementwrapper.php
rename to lib/private/legacy/OC_DB_StatementWrapper.php
diff --git a/lib/private/legacy/defaults.php b/lib/private/legacy/OC_Defaults.php
similarity index 100%
rename from lib/private/legacy/defaults.php
rename to lib/private/legacy/OC_Defaults.php
diff --git a/lib/private/legacy/eventsource.php b/lib/private/legacy/OC_EventSource.php
similarity index 100%
rename from lib/private/legacy/eventsource.php
rename to lib/private/legacy/OC_EventSource.php
diff --git a/lib/private/legacy/filechunking.php b/lib/private/legacy/OC_FileChunking.php
similarity index 100%
rename from lib/private/legacy/filechunking.php
rename to lib/private/legacy/OC_FileChunking.php
diff --git a/lib/private/legacy/files.php b/lib/private/legacy/OC_Files.php
similarity index 100%
rename from lib/private/legacy/files.php
rename to lib/private/legacy/OC_Files.php
diff --git a/lib/private/legacy/helper.php b/lib/private/legacy/OC_Helper.php
similarity index 100%
rename from lib/private/legacy/helper.php
rename to lib/private/legacy/OC_Helper.php
diff --git a/lib/private/legacy/hook.php b/lib/private/legacy/OC_Hook.php
similarity index 100%
rename from lib/private/legacy/hook.php
rename to lib/private/legacy/OC_Hook.php
diff --git a/lib/private/legacy/image.php b/lib/private/legacy/OC_Image.php
similarity index 100%
rename from lib/private/legacy/image.php
rename to lib/private/legacy/OC_Image.php
diff --git a/lib/private/legacy/json.php b/lib/private/legacy/OC_JSON.php
similarity index 100%
rename from lib/private/legacy/json.php
rename to lib/private/legacy/OC_JSON.php
diff --git a/lib/private/legacy/response.php b/lib/private/legacy/OC_Response.php
similarity index 100%
rename from lib/private/legacy/response.php
rename to lib/private/legacy/OC_Response.php
diff --git a/lib/private/legacy/template.php b/lib/private/legacy/OC_Template.php
similarity index 100%
rename from lib/private/legacy/template.php
rename to lib/private/legacy/OC_Template.php
diff --git a/lib/private/legacy/user.php b/lib/private/legacy/OC_User.php
similarity index 100%
rename from lib/private/legacy/user.php
rename to lib/private/legacy/OC_User.php
diff --git a/lib/private/legacy/util.php b/lib/private/legacy/OC_Util.php
similarity index 100%
rename from lib/private/legacy/util.php
rename to lib/private/legacy/OC_Util.php
diff --git a/tests/lib/TemplateFunctionsTest.php b/tests/lib/TemplateFunctionsTest.php
index ac73873ce37fd70c50d988b719a1b2333e54df19..a638567048766f6ca13b6c81e60be93cd49c3b75 100644
--- a/tests/lib/TemplateFunctionsTest.php
+++ b/tests/lib/TemplateFunctionsTest.php
@@ -27,8 +27,7 @@ class TemplateFunctionsTest extends \Test\TestCase {
 	protected function setUp(): void {
 		parent::setUp();
 
-		$loader = new \OC\Autoloader([\OC::$SERVERROOT . '/lib']);
-		$loader->load('OC_Template');
+		require_once \OC::$SERVERROOT . '/lib/private/legacy/OC_Template.php';
 	}
 
 	public function testPJavaScript() {