diff --git a/indra/newview/lllogininstance.cpp b/indra/newview/lllogininstance.cpp
index bb55a3a6c01783f51d9cb1d7c7c1295610b4f2e7..242a845abe28d141f9a0fd3e2034689d200e4a4e 100644
--- a/indra/newview/lllogininstance.cpp
+++ b/indra/newview/lllogininstance.cpp
@@ -330,10 +330,12 @@ void LLLoginInstance::handleLoginFailure(const LLSD& event)
         data["VERSION"] = required_version;
         LLNotificationsUtil::add("RequiredUpdate", data, LLSD::emptyMap(), boost::bind(&LLLoginInstance::handleLoginDisallowed, this, _1, _2));
     }
-    else if(reason_response == "key")
+    else if(   reason_response == "key"
+            || reason_response == "presence"
+            || reason_response == "connect"
+            )
     {
-        // this is a password problem or other restriction
-        // an appropriate message has already been displayed
+        // these are events that have already been communicated elsewhere
         attemptComplete();
     }
     else