diff --git a/include/class.file.php b/include/class.file.php
index a896d9e9cefd4098be9a7e35080157bbe222d894..d53ff3d50bfe2210210d85e1fa82ab04c0281456 100644
--- a/include/class.file.php
+++ b/include/class.file.php
@@ -402,12 +402,19 @@ class AttachmentChunkedData {
     }
 
     function deleteOrphans() {
-
-        $sql = 'DELETE c.* FROM '.FILE_CHUNK_TABLE.' c '
+        $deleted = 0;
+        $sql = 'SELECT c.file_id, c.chunk_id FROM '.FILE_CHUNK_TABLE.' c '
              . ' LEFT JOIN '.FILE_TABLE.' f ON(f.id=c.file_id) '
              . ' WHERE f.id IS NULL';
 
-        return db_query($sql)?db_affected_rows():0;
+        $res = db_query($sql);
+        while (list($file_id, $chunk_id) = db_fetch_row($res)) {
+            db_query('DELETE FROM '.FILE_CHUNK_TABLE
+                .' WHERE file_id='.db_input($file_id)
+                .' AND chunk_id='.db_input($chunk_id));
+            $deleted += db_affected_rows();
+        }
+        return $deleted;
     }
 }
 ?>