diff --git a/include/class.file.php b/include/class.file.php
index 5083c76f9fc7b9a53dc6c2275597f18b003dab0e..8acd7e42949f0c097bcb75d11c35823a224b013c 100644
--- a/include/class.file.php
+++ b/include/class.file.php
@@ -254,12 +254,14 @@ class AttachmentFile {
 
     function save($file) {
 
-        if(!$file['hash'])
-            $file['hash']=MD5(MD5($file['data']).time());
         if (is_callable($file['data']))
             $file['data'] = $file['data']();
+
+        if(!$file['hash'])
+            $file['hash'] = MD5(MD5($file['data']).time());
+
         if(!$file['size'])
-            $file['size']=strlen($file['data']);
+            $file['size'] = strlen($file['data']);
 
         $sql='INSERT INTO '.FILE_TABLE.' SET created=NOW() '
             .',type='.db_input(strtolower($file['type']))