diff --git a/dist/setup/index.js b/dist/setup/index.js
index 3d4c4c12..4a2d9a78 100644
--- a/dist/setup/index.js
+++ b/dist/setup/index.js
@@ -100205,7 +100205,7 @@ class BaseDistribution {
                 if (err instanceof tc.HTTPError &&
                     err.httpStatusCode == 404 &&
                     this.osPlat == 'win32') {
-                    return yield this.acquireWindowsNodeFromFallbackLocation(info.resolvedVersion, info.arch);
+                    return yield this.acquireWindowsNodeFromFallbackLocation(info.resolvedVersion, info.arch, info.downloadUrl);
                 }
                 core.error(`Download failed from ${info.downloadUrl}. Please check the URl and try again.`);
                 throw err;
@@ -100223,7 +100223,7 @@ class BaseDistribution {
         return { range: valid, options };
     }
     acquireWindowsNodeFromFallbackLocation(version_1) {
-        return __awaiter(this, arguments, void 0, function* (version, arch = os_1.default.arch()) {
+        return __awaiter(this, arguments, void 0, function* (version, arch = os_1.default.arch(), downloadUrl) {
             const initialUrl = this.getDistributionUrl();
             core.info('url: ' + initialUrl);
             const osArch = this.translateArchToDistUrl(arch);
@@ -100239,7 +100239,7 @@ class BaseDistribution {
                 exeUrl = `${initialUrl}/v${version}/win-${osArch}/node.exe`;
                 libUrl = `${initialUrl}/v${version}/win-${osArch}/node.lib`;
                 core.info(`Downloading only node binary from ${exeUrl}`);
-                if (!exeUrl) {
+                if (downloadUrl != exeUrl) {
                     core.error('unable to download node binary with the provided URL. Please check and try again');
                 }
                 const exePath = yield tc.downloadTool(exeUrl);
diff --git a/src/distributions/base-distribution.ts b/src/distributions/base-distribution.ts
index b1504449..3ced9a82 100644
--- a/src/distributions/base-distribution.ts
+++ b/src/distributions/base-distribution.ts
@@ -169,7 +169,8 @@ export default abstract class BaseDistribution {
       ) {
         return await this.acquireWindowsNodeFromFallbackLocation(
           info.resolvedVersion,
-          info.arch
+          info.arch,
+          info.downloadUrl
         );
       }
       core.error(`Download failed from ${info.downloadUrl}. Please check the URl and try again.`);
@@ -193,11 +194,12 @@ export default abstract class BaseDistribution {
 
   protected async acquireWindowsNodeFromFallbackLocation(
     version: string,
-    arch: string = os.arch()
+    arch: string = os.arch(),
+    downloadUrl : string
   ): Promise<string> {
     const initialUrl = this.getDistributionUrl();
     core.info('url: ' + initialUrl);
-        const osArch: string = this.translateArchToDistUrl(arch);
+    const osArch: string = this.translateArchToDistUrl(arch);
 
     // Create temporary folder to download to
     const tempDownloadFolder = `temp_${uuidv4()}`;
@@ -212,7 +214,7 @@ export default abstract class BaseDistribution {
       libUrl = `${initialUrl}/v${version}/win-${osArch}/node.lib`;
 
       core.info(`Downloading only node binary from ${exeUrl}`);
-      if(!exeUrl ){core.error('unable to download node binary with the provided URL. Please check and try again');}
+      if(downloadUrl != exeUrl ){core.error('unable to download node binary with the provided URL. Please check and try again');}
       
 
       const exePath = await tc.downloadTool(exeUrl);