             _ = profile.places.deleteBookmarkNode(guid: bookmarkNode.guid)
 
             tableView.beginUpdates()
-            bookmarkNodes.remove(at: indexPath.row)
+            if indexPath.section == BookmarksSection.recent.rawValue {
+                recentBookmarks.remove(at: indexPath.row)
+            } else {
+                bookmarkNodes.remove(at: indexPath.row)
+            }
             tableView.deleteRows(at: [indexPath], with: .left)
             tableView.endUpdates()
         }

    func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
        // Root folders cannot be edited.
        guard let bookmarkFolder = self.bookmarkFolder, bookmarkFolder.guid != BookmarkRoots.RootGUID else {
            return false
        }

        return true

    }

    fileprivate func deleteBookmarkNodeAtIndexPath(_ indexPath: IndexPath) {
        guard let bookmarkNode = indexPath.section == BookmarksSection.bookmarks.rawValue ? bookmarkNodes[safe: indexPath.row] : recentBookmarks[safe: indexPath.row] else {
            return
        }

