diff --git a/src/modules/lists.js b/src/modules/lists.js
index 0f751671..58700f41 100644
--- a/src/modules/lists.js
+++ b/src/modules/lists.js
@@ -57,12 +57,16 @@ const actions = {
     commit('setList', { id, title })
   },
   setListAccounts ({ rootState, commit }, { id, accountIds }) {
+    const saved = rootState.lists.allListsObject[id].accountIds
+    const added = accountIds.filter(id => !saved.includes(id))
+    const removed = saved.filter(id => !accountIds.includes(id))
     commit('setListAccounts', { id, accountIds })
-    rootState.api.backendInteractor.addAccountsToList({ id, accountIds })
-    rootState.api.backendInteractor.removeAccountsFromList({
-      id,
-      accountIds: rootState.lists.allListsObject[id].accountIds.filter(id => !accountIds.includes(id))
-    })
+    if (added.length > 0) {
+      rootState.api.backendInteractor.addAccountsToList({ id, accountIds: added })
+    }
+    if (removed.length > 0) {
+      rootState.api.backendInteractor.removeAccountsFromList({ id, accountIds: removed })
+    }
   },
   deleteList ({ rootState, commit }, { id }) {
     rootState.api.backendInteractor.deleteList({ id })
@@ -76,7 +80,7 @@ export const getters = {
     return state.allListsObject[id].title
   },
   findListAccounts: state => id => {
-    return state.allListsObject[id].accountIds
+    return [...state.allListsObject[id].accountIds]
   }
 }