diff --git a/javascript/src/helpers/mailparser.js b/javascript/src/helpers/mailparser.js
index 9bd873ff9ba1d20c06bd890a4bd525e640c378ec..a6da68a5fb223932afe77acc67fc3d7149711e4e 100644
--- a/javascript/src/helpers/mailparser.js
+++ b/javascript/src/helpers/mailparser.js
@@ -61,7 +61,7 @@ function calculateParts(body, from, to, previousBondary) {
   let boundary = findFirstBoundary(body, from, to);
 
   if (boundary == null) {
-    return [{ indices: { from: from, to: to }, boundary: previousBondary }];
+    return [{ indices: { from: from, to: to }, boundary: previousBondary, leaf: true }];
   }
 
   const realBoundary = boundary;
@@ -78,6 +78,9 @@ function calculateParts(body, from, to, previousBondary) {
   }
 
   let bodies = [];
+  if (previousBondary !== null) {
+    bodies.push({indices: {from: from, to: to}, boundary: previousBondary, leaf: false});
+  }
 
   for (let i = 0; i < boundaryIndicesLength - 1; i++) {
     const firstPair = boundaryPairs[i];
@@ -155,13 +158,14 @@ export function parseMIME(mime) {
   parts.push({
     indices: { from: 0, to: mime.length, headersEnd: headersEnd },
     headers,
-    boundary: "mimemessage"
+    boundary: "mimemessage",
+    leaf: false
   });
 
   return parts;
 }
 
-function getHeaderValue(header, part) {
+export function getHeaderValue(header, part) {
   if (part.headers && part.headers[header] && part.headers[header].length) {
     return part.headers[header];
   }