diff --git a/src/vs/workbench/browser/parts/views/customView.ts b/src/vs/workbench/browser/parts/views/customView.ts index d6557daf7a1..b4ab237e31c 100644 --- a/src/vs/workbench/browser/parts/views/customView.ts +++ b/src/vs/workbench/browser/parts/views/customView.ts @@ -597,8 +597,16 @@ export class CustomTreeView extends Disposable implements ITreeView { private async doRefresh(elements: ITreeItem[]): Promise { if (this.tree) { this.refreshing = true; - await Promise.all(elements.map(element => this.tree.updateChildren(element, true))); - elements.map(element => this.tree.rerender(element)); + const parents: Set = new Set(); + elements.forEach(element => { + if (element !== this.root) { + const parent = this.tree.getParentElement(element); + parents.add(parent); + } else { + parents.add(element); + } + }); + await Promise.all(Array.from(parents.values()).map(element => this.tree.updateChildren(element, true))); this.refreshing = false; this.updateContentAreas(); if (this.focused) {