                     }
                     deletedReadingLists[readingListID] = localReadingList
                 })
+                if requestCount % 4 == 0 {
+                    taskGroup.wait()
+                }
             } else if localReadingList.isUpdatedLocally {
+                requestCount += 1
                 taskGroup.enter()
                 self.apiController.updateList(withListID: readingListID, name: readingListName, description: localReadingList.readingListDescription, completion: { (updateError) in
                     defer {

                    group.leave()
                })
                entryCount += 1
                if entryCount % 8 == 0 {
                    group.wait()
                }
            }

                    }
                    deletedReadingListEntries[readingListEntryID] = localReadingListEntry
                })
                if requestCount % 4 == 0 {
                    taskGroup.wait()
                }
            } else {
                // there's no "updating" of an entry currently
                localReadingListEntry.isUpdatedLocally = false
