diff --git a/config/mimetypemapping.json b/config/mimetypemapping.dist.json
similarity index 97%
rename from config/mimetypemapping.json
rename to config/mimetypemapping.dist.json
index 49f3d8c9a1f35f0b028f3af7103a40246035a284..48ec4a56dabe061354295e31a27c23b7e58b51de 100644
--- a/config/mimetypemapping.json
+++ b/config/mimetypemapping.dist.json
@@ -3,6 +3,9 @@
 	"_comment2": "The first index in the mime type array is the assumed correct mimetype",
 	"_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",
+
 
 	"3gp": ["video/3gpp"],
 	"7z": ["application/x-7z-compressed"],
diff --git a/lib/private/helper.php b/lib/private/helper.php
index abe1e42ecb0641f18529bbf40de039f36e1a90d7..09b319e90c8844f568e4ba323c180e8c507ce481 100644
--- a/lib/private/helper.php
+++ b/lib/private/helper.php
@@ -424,8 +424,15 @@ class OC_Helper {
 	 */
 	static public function getMimetypeDetector() {
 		if (!self::$mimetypeDetector) {
-			$file = file_get_contents(OC::$SERVERROOT . '/config/mimetypemapping.json');
-			$mimetypemapping = get_object_vars(json_decode($file));
+			$dist = file_get_contents(OC::$SERVERROOT . '/config/mimetypemapping.dist.json');
+			$mimetypemapping = get_object_vars(json_decode($dist));
+
+			//Check if need to load custom mappings
+			if (file_exists(OC::$SERVERROOT . '/config/mimetypemapping.json')) {
+				$custom = file_get_contents(OC::$SERVERROOT . '/config/mimetypemapping.json');
+				$custom_mapping = get_object_vars(json_decode($custom));
+				$mimetypemapping = array_merge($mimetypemapping, $custom_mapping);
+			}
 
 			self::$mimetypeDetector = new \OC\Files\Type\Detection();
 			self::$mimetypeDetector->registerTypeArray($mimetypemapping);