diff --git a/src/Icons/Services/IconFetchingService.cs b/src/Icons/Services/IconFetchingService.cs
index e1d76530af..bb5bf942c4 100644
--- a/src/Icons/Services/IconFetchingService.cs
+++ b/src/Icons/Services/IconFetchingService.cs
@@ -50,22 +50,25 @@ namespace Bit.Icons.Services
 
         public async Task<IconResult> GetIconAsync(string domain)
         {
-            if(!Uri.TryCreate($"https://{domain}", UriKind.Absolute, out var parsedUri))
+            if(!Uri.TryCreate($"https://{domain}", UriKind.Absolute, out var parsedHttpsUri))
             {
                 return null;
             }
 
-            var uri = parsedUri;
+            var uri = parsedHttpsUri;
             var response = await GetAndFollowAsync(uri, 2);
-            if(response == null || !response.IsSuccessStatusCode)
+            if((response == null || !response.IsSuccessStatusCode) &&
+                Uri.TryCreate($"http://{parsedHttpsUri.Host}", UriKind.Absolute, out var parsedHttpUri))
             {
                 Cleanup(response);
-                uri = new Uri($"http://{parsedUri.Host}");
+                uri = parsedHttpUri;
                 response = await GetAndFollowAsync(uri, 2);
-                if(response == null || !response.IsSuccessStatusCode)
+
+                if((response == null || !response.IsSuccessStatusCode) &&
+                    Uri.TryCreate($"https://www.{parsedHttpsUri.Host}", UriKind.Absolute, out var parsedWwwUri))
                 {
                     Cleanup(response);
-                    uri = new Uri($"https://www.{parsedUri.Host}");
+                    uri = parsedWwwUri;
                     response = await GetAndFollowAsync(uri, 2);
                 }
             }