diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp
index 0b761db81a90a1e79b41632fd66be04fcaaf50e2..bdad193d8529455e17a955d9b4aa93d86900e439 100644
--- a/indra/newview/llagent.cpp
+++ b/indra/newview/llagent.cpp
@@ -5392,6 +5392,12 @@ void LLAgent::requestAgentUserInfoCoro(std::string capurl)
         return;
     }
 
+	if (result.size() == 0 || !result.isMap())
+	{
+		LL_WARNS("UserInfo") << "Failed to get user information." << LL_ENDL;
+		return;
+	}
+
     bool im_via_email = false;
     bool is_verified_email = false;
     std::string email;
@@ -5401,9 +5407,11 @@ void LLAgent::requestAgentUserInfoCoro(std::string capurl)
 		im_via_email = result["im_via_email"].asBoolean();
 
 	if (result.has("is_verified"))
-		im_via_email = result["is_verified"].asBoolean();
+		is_verified_email = result["is_verified"].asBoolean();
+
+	if (result.has("email"))
+    	email = result["email"].asString();
 
-    email = result["email"].asString();
     dir_visibility = result["directory_visibility"].asString();
 
     // TODO: This should probably be changed.  I'm not entirely comfortable