diff --git a/Tests/Utils/MimeTypeIconTest.php b/Tests/Utils/MimeTypeIconTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..6b3f9bdd4783c67a5aed90fc4124989897907c2a
--- /dev/null
+++ b/Tests/Utils/MimeTypeIconTest.php
@@ -0,0 +1,38 @@
+<?php
+
+namespace Irstea\FileUploadBundle\Tests\Utils;
+
+use Irstea\FileUploadBundle\Utils\MimeTypeIcon;
+use PHPUnit_Framework_TestCase;
+
+/**
+ * Generated by PHPUnit_SkeletonGenerator on 2015-02-04 at 11:13:27.
+ */
+class MimeTypeIconTest extends PHPUnit_Framework_TestCase
+{
+    /**
+     * @covers Irstea\FileUploadBundle\Utils\MimeTypeIcon::getMimeTypeIcon
+     * @dataProvider getTestValues
+     */
+    public function testGetMimeTypeIcon($expected, $input)
+    {
+        $this->assertEquals($expected, MimeTypeIcon::getMimeTypeIcon($input));
+    }
+
+    public function getTestValues()
+    {
+        return [
+            [null, ''],
+            [null, []],
+            ['audio', 'audio/mpeg'],
+            ['text', 'text/plain'],
+            ['video', 'video/mpeg'],
+            ['image', 'image/png'],
+            ['pdf',   'application/pdf'],
+            ['archive', 'application/zip'],
+            ['text', 'text/plain; charset=UTF-8'],
+            ['archive', 'application/zip; format=lzh'],
+        ];
+    }
+
+}
diff --git a/Utils/MimeTypeIcon.php b/Utils/MimeTypeIcon.php
index e14a824aafa3821efdb1ceff852b1e181839c9ed..716889a6de9e7e94633ad9ad9f08516efbdb125e 100644
--- a/Utils/MimeTypeIcon.php
+++ b/Utils/MimeTypeIcon.php
@@ -15,7 +15,6 @@ namespace Irstea\FileUploadBundle\Utils;
 final class MimeTypeIcon
 {
     private static $icons = [
-        'application/x-gzip' => 'zip',
         'application/vnd.oasis.opendocument.text' => 'word',
         'application/vnd.oasis.opendocument.spreadsheet' => 'excel',
         'application/vnd.oasis.opendocument.presentation' => 'powerpoint',
@@ -45,6 +44,10 @@ final class MimeTypeIcon
             return null;
         }
 
+        if(false !== $sep = strpos($mimeType, ';')) {
+            $mimeType = trim(substr($mimeType, 0, $sep));
+        }
+
         if(isset(self::$icons[$mimeType])) {
             return self::$icons[$mimeType];
         }