         "FROM \(direction.valueView) WHERE guid IN \(varlist) AND NOT is_deleted"
 
         if !includeIcon {
-            return self.db.runQuery(values, args: args, factory: BookmarkFactory.factory)
+            return self.db.runQuery(values + " ORDER BY title ASC", args: args, factory: BookmarkFactory.factory)
         }
 
         let withIcon = [

    func getDesktopRoots() -> Deferred<Maybe<Cursor<BookmarkNode>>> {
        if self.direction == .Buffer {
            // The buffer never includes the Places root, so we look one level deeper.
            return self.bookmarks.getRecordsWithGUIDs(BookmarkRoots.DesktopRoots, direction: self.direction, includeIcon: false)
        }

        // We deliberately exclude the mobile folder, because we're inverting the containment


    public func modelForRoot() -> Deferred<Maybe<BookmarksModel>> {
        log.debug("Getting model for root.")
        let getFolder = self.folderForGUID(BookmarkRoots.MobileFolderGUID, title: BookmarksFolderTitleMobile)
        if self.direction == .Buffer {
            return getFolder >>== self.modelWithRoot
        }

        // Return a virtual model containing "Desktop bookmarks" prepended to the local mobile bookmarks.
        return getFolder >>== { folder in
            self.extendWithDesktopBookmarksFolder(folder, factory: self)
        }
    }

