diff --git a/src/Identity/test/Identity.Test/CdnScriptTaghelperTests.cs b/src/Identity/test/Identity.Test/CdnScriptTaghelperTests.cs
index b9a65a320cb890fb24aae1fd6cc6279f37fe667e..d9a6e57929b1d12ec1221d32b79295094aa3d1a4 100644
--- a/src/Identity/test/Identity.Test/CdnScriptTaghelperTests.cs
+++ b/src/Identity/test/Identity.Test/CdnScriptTaghelperTests.cs
@@ -7,6 +7,7 @@ using System.IO;
 using System.Net.Http;
 using System.Security.Cryptography;
 using System.Text.RegularExpressions;
+using System.Threading;
 using System.Threading.Tasks;
 using Xunit;
 using Xunit.Abstractions;
@@ -38,7 +39,7 @@ namespace Microsoft.AspNetCore.Identity.Test
             Assert.NotEmpty(scriptTags);
 
             var shasum = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
-            using (var client = new HttpClient())
+            using (var client = new HttpClient(new RetryHandler(new HttpClientHandler() { })))
             {
                 foreach (var script in scriptTags)
                 {
@@ -62,6 +63,25 @@ namespace Microsoft.AspNetCore.Identity.Test
             });
         }
 
+        class RetryHandler : DelegatingHandler
+        {
+            public RetryHandler(HttpMessageHandler innerHandler) : base(innerHandler) { }
+            protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
+            {
+                HttpResponseMessage result = null;
+                for (var i = 0; i < 10; i++)
+                {
+                    result = await base.SendAsync(request, cancellationToken);
+                    if (result.IsSuccessStatusCode)
+                    {
+                        return result;
+                    }
+                    await Task.Delay(1000);
+                }
+                return result;
+            }
+        }
+
         private struct ScriptTag
         {
             public string Src;