diff --git a/indra/viewer_components/login/lllogin.cpp b/indra/viewer_components/login/lllogin.cpp
index 651d803e0de87ea54269fca7aa0c1281f55f998e..d480b63094745a1dea8d9593ce9a1f9529c9225d 100644
--- a/indra/viewer_components/login/lllogin.cpp
+++ b/indra/viewer_components/login/lllogin.cpp
@@ -178,6 +178,8 @@ void LLLogin::Impl::login_(LLCoros::self& self, std::string uri, LLSD login_para
         request["uri"] = uri;
         request["reply"] = replyPump.getName();
         rewrittenURIs = postAndWait(self, request, srv_pump_name, filter);
+        // EXP-772: If rewrittenURIs fail, try original URI as a fallback.
+        rewrittenURIs.append(uri);
     } // we no longer need the filter
 
     LLEventPump& xmlrpcPump(LLEventPumps::instance().obtain("LLXMLRPCTransaction"));