diff --git a/app/sql.js b/app/sql.js
index 000230c86..1347a049d 100644
--- a/app/sql.js
+++ b/app/sql.js
@@ -376,11 +376,17 @@ async function saveMessage(data, { forceSave } = {}) {
 }
 
 async function saveMessages(arrayOfMessages, { forceSave } = {}) {
-  await Promise.all([
-    db.run('BEGIN TRANSACTION;'),
-    ...map(arrayOfMessages, message => saveMessage(message, { forceSave })),
-    db.run('COMMIT TRANSACTION;'),
-  ]);
+  let promise;
+
+  db.serialize(() => {
+    promise = Promise.all([
+      db.run('BEGIN TRANSACTION;'),
+      ...map(arrayOfMessages, message => saveMessage(message, { forceSave })),
+      db.run('COMMIT TRANSACTION;'),
+    ]);
+  });
+
+  await promise;
 }
 
 async function removeMessage(id) {
@@ -569,13 +575,19 @@ async function saveUnprocessed(data, { forceSave } = {}) {
 }
 
 async function saveUnprocesseds(arrayOfUnprocessed, { forceSave } = {}) {
-  await Promise.all([
-    db.run('BEGIN TRANSACTION;'),
-    ...map(arrayOfUnprocessed, unprocessed =>
-      saveUnprocessed(unprocessed, { forceSave })
-    ),
-    db.run('COMMIT TRANSACTION;'),
-  ]);
+  let promise;
+
+  db.serialize(() => {
+    promise = Promise.all([
+      db.run('BEGIN TRANSACTION;'),
+      ...map(arrayOfUnprocessed, unprocessed =>
+        saveUnprocessed(unprocessed, { forceSave })
+      ),
+      db.run('COMMIT TRANSACTION;'),
+    ]);
+  });
+
+  await promise;
 }
 
 async function getUnprocessedById(id) {
@@ -624,12 +636,18 @@ async function removeAllUnprocessed() {
 }
 
 async function removeAll() {
-  await Promise.all([
-    db.run('BEGIN TRANSACTION;'),
-    db.run('DELETE FROM messages;'),
-    db.run('DELETE FROM unprocessed;'),
-    db.run('COMMIT TRANSACTION;'),
-  ]);
+  let promise;
+
+  db.serialize(() => {
+    promise = Promise.all([
+      db.run('BEGIN TRANSACTION;'),
+      db.run('DELETE FROM messages;'),
+      db.run('DELETE FROM unprocessed;'),
+      db.run('COMMIT TRANSACTION;'),
+    ]);
+  });
+
+  await promise;
 }
 
 async function getMessagesNeedingUpgrade(limit, { maxVersion }) {