diff --git a/include/class.file.php b/include/class.file.php
index d3f8393b6be57498183d555130b7b984d88aaaf5..50ba68c79b0a92e8d572665cafb53398a6a8582c 100644
--- a/include/class.file.php
+++ b/include/class.file.php
@@ -252,6 +252,20 @@ class AttachmentFile {
         if(!$file['size'])
             $file['size'] = strlen($file['data']);
 
+        if (!$file['type']) {
+            $finfo = new finfo(FILEINFO_MIME_TYPE);
+            if ($file['data'])
+                $type = $finfo->buffer($file['data']);
+            elseif ($file['tmp_name'])
+                $type = $finfo->file($file['tmp_name']);
+
+            if ($type)
+                $file['type'] = $type;
+            else
+                $file['type'] = 'application/octet-stream';
+        }
+
+
         $sql='INSERT INTO '.FILE_TABLE.' SET created=NOW() '
             .',type='.db_input(strtolower($file['type']))
             .',size='.db_input($file['size'])