diff --git a/indra/llcommon/lleventcoro.h b/indra/llcommon/lleventcoro.h
index c6d9de171d29f0f5a185bb60c1f48ab407867dd1..1981ae7482b295751907eaf7946e5182064e2d9f 100644
--- a/indra/llcommon/lleventcoro.h
+++ b/indra/llcommon/lleventcoro.h
@@ -203,9 +203,12 @@ LLSD postAndWait(SELF& self, const LLSD& event, const LLEventPumpOrPumpName& req
         // request event.
         LLSD modevent(event);
         LLEventDetail::storeToLLSDPath(modevent, replyPumpNamePath, replyPump.getPump().getName());
-        LL_DEBUGS("lleventcoro") << "postAndWait(): coroutine " << listenerName
+		LL_DEBUGS("lleventcoro") << "postAndWait(): coroutine " << listenerName
                                  << " posting to " << requestPump.getPump().getName()
-                                 << ": " << modevent << LL_ENDL;
+								 << LL_ENDL;
+
+		// *NOTE:Mani - Removed because modevent could contain user's hashed passwd.
+		//                         << ": " << modevent << LL_ENDL;
         requestPump.getPump().post(modevent);
     }
     LL_DEBUGS("lleventcoro") << "postAndWait(): coroutine " << listenerName
diff --git a/indra/viewer_components/login/lllogin.cpp b/indra/viewer_components/login/lllogin.cpp
index b14c59ab9ac1d702501ae9a26b1a92fe4619f69e..02c13716eddae0e5a037359968351f8e905f5e3a 100644
--- a/indra/viewer_components/login/lllogin.cpp
+++ b/indra/viewer_components/login/lllogin.cpp
@@ -133,9 +133,16 @@ void LLLogin::Impl::connect(const std::string& uri, const LLSD& credentials)
 
 void LLLogin::Impl::login_(LLCoros::self& self, std::string uri, LLSD credentials)
 {
-    LL_INFOS("LLLogin") << "Entering coroutine " << LLCoros::instance().getName(self)
-                        << " with uri '" << uri << "', credentials " << credentials << LL_ENDL;
-    // Arriving in SRVRequest state
+	LLSD printable_credentials = credentials;
+	if(printable_credentials.has("params") 
+		&& printable_credentials["params"].has("passwd")) 
+	{
+		printable_credentials["params"]["passwd"] = "*******";
+	}
+    LL_DEBUGS("LLLogin") << "Entering coroutine " << LLCoros::instance().getName(self)
+                        << " with uri '" << uri << "', credentials " << printable_credentials << LL_ENDL;
+
+	// Arriving in SRVRequest state
     LLEventStream replyPump("reply", true);
     // Should be an array of one or more uri strings.
     LLSD rewrittenURIs;
@@ -144,7 +151,7 @@ void LLLogin::Impl::login_(LLCoros::self& self, std::string uri, LLSD credential
         sendProgressEvent("offline", "srvrequest");
 
         // Request SRV record.
-        LL_INFOS("LLLogin") << "Requesting SRV record from " << uri << LL_ENDL;
+        LL_DEBUGS("LLLogin") << "Requesting SRV record from " << uri << LL_ENDL;
 
         // *NOTE:Mani - Completely arbitrary default timeout value for SRV request.
 		F32 seconds_to_timeout = 5.0f;
@@ -193,6 +200,11 @@ void LLLogin::Impl::login_(LLCoros::self& self, std::string uri, LLSD credential
             LLSD progress_data;
             progress_data["attempt"] = attempts;
             progress_data["request"] = request;
+			if(progress_data["request"].has("params")
+				&& progress_data["request"]["params"].has("passwd"))
+			{
+				progress_data["request"]["params"]["passwd"] = "*******";
+			}
             sendProgressEvent("offline", "authenticating", progress_data);
 
             // We expect zero or more "Downloading" status events, followed by