     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)
+            // Because this is a special-case overlay, we include Mobile Bookmarks here --
+            // that'll show bookmarks from other mobile devices.
+            return self.bookmarks.getRecordsWithGUIDs(BookmarkRoots.RootChildren, direction: self.direction, includeIcon: false)
         }
 
         // We deliberately exclude the mobile folder, because we're inverting the containment

            "       favicons.url AS iconURL, favicons.date AS iconDate, favicons.type AS iconType",
            "FROM (", values, ") AS bookmarks",
            "LEFT OUTER JOIN favicons ON bookmarks.faviconID = favicons.id",
            ].joinWithSeparator(" ")

        return self.db.runQuery(withIcon, args: args, factory: BookmarkFactory.factory)


    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)
        }
    }

