diff --git a/src/vs/platform/extensionManagement/node/extensionManagementService.ts b/src/vs/platform/extensionManagement/node/extensionManagementService.ts index aa2cc058595973ab44825143257916fb05566068..5bc3e7407512f523229ee156c7f3dd20371fb698 100644 --- a/src/vs/platform/extensionManagement/node/extensionManagementService.ts +++ b/src/vs/platform/extensionManagement/node/extensionManagementService.ts @@ -279,13 +279,13 @@ export class ExtensionManagementService implements IExtensionManagementService { } }) .then(extension => this.downloadInstallableExtension(extension)) - .then(installableExtension => this.installExtension(installableExtension)); - - this.installingExtensions.set(extension.identifier.id, installingExtension); - installingExtension.then( + .then(installableExtension => this.installExtension(installableExtension)) + .then( local => { this.installingExtensions.delete(extension.identifier.id); return local; }, e => { this.installingExtensions.delete(extension.identifier.id); return TPromise.wrapError(e); } - ); + ); + + this.installingExtensions.set(extension.identifier.id, installingExtension); } return installingExtension; }