diff --git a/lib/private/files/type/detection.php b/lib/private/files/type/detection.php
index 3dc3975fb2afa914f8a6ccab9422512dff8fac7f..0c647ab44c69095db1034b4fce9e82f5bfdc1851 100644
--- a/lib/private/files/type/detection.php
+++ b/lib/private/files/type/detection.php
@@ -49,15 +49,22 @@ class Detection implements IMimeTypeDetector {
 	private $urlGenerator;
 
 	/** @var string */
-	private $configDir;
+	private $customConfigDir;
+
+	/** @var string */
+	private $defaultConfigDir;
 
 	/**
 	 * @param IURLGenerator $urlGenerator
-	 * @param string $configDir
+	 * @param string $customConfigDir
+	 * @param string $defaultConfigDir
 	 */
-	public function __construct(IURLGenerator $urlGenerator, $configDir) {
+	public function __construct(IURLGenerator $urlGenerator,
+								$customConfigDir,
+								$defaultConfigDir) {
 		$this->urlGenerator = $urlGenerator;
-		$this->configDir = $configDir;
+		$this->customConfigDir = $customConfigDir;
+		$this->defaultConfigDir = $defaultConfigDir;
 	}
 
 	/**
@@ -71,7 +78,9 @@ class Detection implements IMimeTypeDetector {
 	 * @param string $mimetype
 	 * @param string|null $secureMimeType
 	 */
-	public function registerType($extension, $mimetype, $secureMimeType = null) {
+	public function registerType($extension,
+								 $mimetype,
+								 $secureMimeType = null) {
 		$this->mimetypes[$extension] = array($mimetype, $secureMimeType);
 		$this->secureMimeTypes[$mimetype] = $secureMimeType ?: $mimetype;
 	}
@@ -102,10 +111,10 @@ class Detection implements IMimeTypeDetector {
 			return;
 		}
 
-		$this->mimeTypeAlias = json_decode(file_get_contents($this->configDir . '/mimetypealiases.dist.json'), true);
+		$this->mimeTypeAlias = json_decode(file_get_contents($this->defaultConfigDir . '/mimetypealiases.dist.json'), true);
 
-		if (file_exists($this->configDir . '/mimetypealiases.json')) {
-			$custom = json_decode(file_get_contents($this->configDir . '/mimetypealiases.json'), true);
+		if (file_exists($this->customConfigDir . '/mimetypealiases.json')) {
+			$custom = json_decode(file_get_contents($this->customConfigDir . '/mimetypealiases.json'), true);
 			$this->mimeTypeAlias = array_merge($this->mimeTypeAlias, $custom);
 		}
 	}
@@ -126,15 +135,15 @@ class Detection implements IMimeTypeDetector {
 			return;
 		}
 
-		$mimetypemapping = json_decode(file_get_contents($this->configDir . '/mimetypemapping.dist.json'), true);
+		$mimetypeMapping = json_decode(file_get_contents($this->defaultConfigDir . '/mimetypemapping.dist.json'), true);
 
 		//Check if need to load custom mappings
-		if (file_exists($this->configDir . '/mimetypemapping.json')) {
-			$custom = json_decode(file_get_contents($this->configDir . '/mimetypemapping.json'), true);
-			$mimetypemapping = array_merge($mimetypemapping, $custom);
+		if (file_exists($this->customConfigDir . '/mimetypemapping.json')) {
+			$custom = json_decode(file_get_contents($this->customConfigDir . '/mimetypemapping.json'), true);
+			$mimetypeMapping = array_merge($mimetypeMapping, $custom);
 		}
 
-		$this->registerTypeArray($mimetypemapping);
+		$this->registerTypeArray($mimetypeMapping);
 	}
 
 	/**
diff --git a/lib/private/server.php b/lib/private/server.php
index d5f4f532c1c2ab5da62321f42854c71fb4b3c7a0..9f99ead849bcf85c72414f0b73b2e32328021e28 100644
--- a/lib/private/server.php
+++ b/lib/private/server.php
@@ -470,7 +470,9 @@ class Server extends SimpleContainer implements IServerContainer {
 		$this->registerService('MimeTypeDetector', function(Server $c) {
 			return new \OC\Files\Type\Detection(
 				$c->getURLGenerator(),
-				\OC::$configDir);
+				\OC::$SERVERROOT . '/config/',
+				\OC::$SERVERROOT . '/resources/config/'
+				);
 		});
 		$this->registerService('MimeTypeLoader', function(Server $c) {
 			return new \OC\Files\Type\Loader(
diff --git a/config/mimetypealiases.dist.json b/resources/config/mimetypealiases.dist.json
similarity index 97%
rename from config/mimetypealiases.dist.json
rename to resources/config/mimetypealiases.dist.json
index 2c9bdaa00c8cae82d64a7137a313970444d137f5..3d6c5edc1324c0eb67e95f71e3ba6d41626ebf4d 100644
--- a/config/mimetypealiases.dist.json
+++ b/resources/config/mimetypealiases.dist.json
@@ -1,7 +1,7 @@
 {
 	"_comment" : "Array of mimetype aliases.",
 	"_comment2": "Any changes you make here will be overwritten on an update of ownCloud.",
-	"_comment3": "Put any custom aliases in a new file mimetypealiases.json in this directory",
+	"_comment3": "Put any custom mappings in a new file mimetypealiases.json in the config/ folder of ownCloud",
 
 	"_comment4": "After any change to mimetypealiases.json run:",
 	"_comment5": "./occ maintenance:mimetypesjs",
diff --git a/config/mimetypemapping.dist.json b/resources/config/mimetypemapping.dist.json
similarity index 99%
rename from config/mimetypemapping.dist.json
rename to resources/config/mimetypemapping.dist.json
index 48ec4a56dabe061354295e31a27c23b7e58b51de..79b0ca65240c3da4e46e26484ebda08c3d4a26b3 100644
--- a/config/mimetypemapping.dist.json
+++ b/resources/config/mimetypemapping.dist.json
@@ -4,7 +4,7 @@
 	"_comment3": "and the second (if present] is a secure alternative",
 
 	"_comment4": "Any changes you make here will be overwritten on an update of ownCloud",
-	"_comment5": "Put any custom mappings in a new file mimetypemapping.json in this directory",
+	"_comment5": "Put any custom mappings in a new file mimetypemapping.json in the config/ folder of ownCloud",
 
 
 	"3gp": ["video/3gpp"],
diff --git a/tests/lib/files/type/detection.php b/tests/lib/files/type/detection.php
index 1997fa4dfd6161225e774fb93af93c32411b86b5..5800f4eb8e3a3ec046278975b8e88edb00729888 100644
--- a/tests/lib/files/type/detection.php
+++ b/tests/lib/files/type/detection.php
@@ -19,58 +19,64 @@
  *
  */
 
-namespace OC\Files\Type;
+namespace Test\Files\Type;
 
 use \OC\Files\Type\Detection;
 
 class DetectionTest extends \Test\TestCase {
+	/** @var Detection */
+	private $detection;
+
+	public function setUp() {
+		parent::setUp();
+		$this->detection = new Detection(
+			\OC::$server->getURLGenerator(),
+			\OC::$SERVERROOT . '/config/',
+			\OC::$SERVERROOT . '/resources/config/'
+		);
+	}
 
 	public function testDetect() {
-		$detection = new Detection(\OC::$server->getURLGenerator(), \OC::$configDir);
 		$dir = \OC::$SERVERROOT.'/tests/data';
 
-		$result = $detection->detect($dir."/");
+		$result = $this->detection->detect($dir."/");
 		$expected = 'httpd/unix-directory';
 		$this->assertEquals($expected, $result);
 
-		$result = $detection->detect($dir."/data.tar.gz");
+		$result = $this->detection->detect($dir."/data.tar.gz");
 		$expected = 'application/x-gzip';
 		$this->assertEquals($expected, $result);
 
-		$result = $detection->detect($dir."/data.zip");
+		$result = $this->detection->detect($dir."/data.zip");
 		$expected = 'application/zip';
 		$this->assertEquals($expected, $result);
 
-		$result = $detection->detect($dir."/testimagelarge.svg");
+		$result = $this->detection->detect($dir."/testimagelarge.svg");
 		$expected = 'image/svg+xml';
 		$this->assertEquals($expected, $result);
 
-		$result = $detection->detect($dir."/testimage.png");
+		$result = $this->detection->detect($dir."/testimage.png");
 		$expected = 'image/png';
 		$this->assertEquals($expected, $result);
 	}
 
 	public function testGetSecureMimeType() {
-		$detection = new Detection(\OC::$server->getURLGenerator(), \OC::$configDir);
-
-		$result = $detection->getSecureMimeType('image/svg+xml');
+		$result = $this->detection->getSecureMimeType('image/svg+xml');
 		$expected = 'text/plain';
 		$this->assertEquals($expected, $result);
 
-		$result = $detection->getSecureMimeType('image/png');
+		$result = $this->detection->getSecureMimeType('image/png');
 		$expected = 'image/png';
 		$this->assertEquals($expected, $result);
 	}
 
 	public function testDetectPath() {
-		$detection = new Detection(\OC::$server->getURLGenerator(), \OC::$configDir);
-
-		$this->assertEquals('text/plain', $detection->detectPath('foo.txt'));
-		$this->assertEquals('image/png', $detection->detectPath('foo.png'));
-		$this->assertEquals('image/png', $detection->detectPath('foo.bar.png'));
-		$this->assertEquals('application/octet-stream', $detection->detectPath('.png'));
-		$this->assertEquals('application/octet-stream', $detection->detectPath('foo'));
-		$this->assertEquals('application/octet-stream', $detection->detectPath(''));
+		$this->assertEquals('text/plain', $this->detection->detectPath('foo.txt'));
+		$this->assertEquals('image/png', $this->detection->detectPath('foo.png'));
+		$this->assertEquals('image/png', $this->detection->detectPath('foo.bar.png'));
+		$this->assertEquals('application/octet-stream', $this->detection->detectPath('.png'));
+		$this->assertEquals('application/octet-stream', $this->detection->detectPath('foo'));
+		$this->assertEquals('application/octet-stream', $this->detection->detectPath(''));
 	}
 
 	public function testDetectString() {
@@ -78,16 +84,14 @@ class DetectionTest extends \Test\TestCase {
 			$this->markTestSkipped('[Windows] Strings have mimetype application/octet-stream on Windows');
 		}
 
-		$detection = new Detection(\OC::$server->getURLGenerator(), \OC::$configDir);
-
-		$result = $detection->detectString("/data/data.tar.gz");
+		$result = $this->detection->detectString("/data/data.tar.gz");
 		$expected = 'text/plain; charset=us-ascii';
 		$this->assertEquals($expected, $result);
 	}
 
 	public function testMimeTypeIcon() {
 		if (!class_exists('org\\bovigo\\vfs\\vfsStream')) {
-			$this->markTestSkipped('Pacakge vfsStream not installed');
+			$this->markTestSkipped('Package vfsStream not installed');
 		}
 		$confDir = \org\bovigo\vfs\vfsStream::setup();
 		$mimetypealiases_dist = \org\bovigo\vfs\vfsStream::newFile('mimetypealiases.dist.json')->at($confDir);
@@ -111,7 +115,7 @@ class DetectionTest extends \Test\TestCase {
 			->with($this->equalTo('core'), $this->equalTo('filetypes/folder.png'))
 			->willReturn('folder.svg');
 
-		$detection = new Detection($urlGenerator, $confDir->url());
+		$detection = new Detection($urlGenerator, $confDir->url(), $confDir->url());
 		$mimeType = $detection->mimeTypeIcon('dir');
 		$this->assertEquals('folder.svg', $mimeType);
 
@@ -130,7 +134,7 @@ class DetectionTest extends \Test\TestCase {
 			->with($this->equalTo('core'), $this->equalTo('filetypes/folder-shared.png'))
 			->willReturn('folder-shared.svg');
 
-		$detection = new Detection($urlGenerator, $confDir->url());
+		$detection = new Detection($urlGenerator, $confDir->url(), $confDir->url());
 		$mimeType = $detection->mimeTypeIcon('dir-shared');
 		$this->assertEquals('folder-shared.svg', $mimeType);
 
@@ -150,7 +154,7 @@ class DetectionTest extends \Test\TestCase {
 			->with($this->equalTo('core'), $this->equalTo('filetypes/folder-external.png'))
 			->willReturn('folder-external.svg');
 
-		$detection = new Detection($urlGenerator, $confDir->url());
+		$detection = new Detection($urlGenerator, $confDir->url(), $confDir->url());
 		$mimeType = $detection->mimeTypeIcon('dir-external');
 		$this->assertEquals('folder-external.svg', $mimeType);
 
@@ -170,7 +174,7 @@ class DetectionTest extends \Test\TestCase {
 			->with($this->equalTo('core'), $this->equalTo('filetypes/my-type.png'))
 			->willReturn('my-type.svg');
 
-		$detection = new Detection($urlGenerator, $confDir->url());
+		$detection = new Detection($urlGenerator, $confDir->url(), $confDir->url());
 		$mimeType = $detection->mimeTypeIcon('my-type');
 		$this->assertEquals('my-type.svg', $mimeType);
 
@@ -200,7 +204,7 @@ class DetectionTest extends \Test\TestCase {
 				}
 			));
 
-		$detection = new Detection($urlGenerator, $confDir->url());
+		$detection = new Detection($urlGenerator, $confDir->url(), $confDir->url());
 		$mimeType = $detection->mimeTypeIcon('my-type');
 		$this->assertEquals('my.svg', $mimeType);
 
@@ -231,7 +235,7 @@ class DetectionTest extends \Test\TestCase {
 				}
 			));
 
-		$detection = new Detection($urlGenerator, $confDir->url());
+		$detection = new Detection($urlGenerator, $confDir->url(), $confDir->url());
 		$mimeType = $detection->mimeTypeIcon('foo-bar');
 		$this->assertEquals('file.svg', $mimeType);
 
@@ -250,7 +254,7 @@ class DetectionTest extends \Test\TestCase {
 			->with($this->equalTo('core'), $this->equalTo('filetypes/foo-bar.png'))
 			->willReturn('foo-bar.svg');
 
-		$detection = new Detection($urlGenerator, $confDir->url());
+		$detection = new Detection($urlGenerator, $confDir->url(), $confDir->url());
 		$mimeType = $detection->mimeTypeIcon('foo-bar');
 		$this->assertEquals('foo-bar.svg', $mimeType);
 		$mimeType = $detection->mimeTypeIcon('foo-bar');
@@ -276,7 +280,7 @@ class DetectionTest extends \Test\TestCase {
 			->with($this->equalTo('core'), $this->equalTo('filetypes/foobar-baz.png'))
 			->willReturn('foobar-baz.svg');
 
-		$detection = new Detection($urlGenerator, $confDir->url());
+		$detection = new Detection($urlGenerator, $confDir->url(), $confDir->url());
 		$mimeType = $detection->mimeTypeIcon('foo');
 		$this->assertEquals('foobar-baz.svg', $mimeType);
 	}