diff --git a/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c b/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c
index 00ff00970a..6f23642b02 100644
--- a/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c
+++ b/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c
@@ -245,22 +245,24 @@ static abyss_bool http_directory_auth(TSession * r, char *domain_name)
 					}
 				}
 
-				if (!(mypass1 && mypass2)) {
+				if (!switch_strlen_zero(mypass2) && !strcasecmp(mypass2, "user-choose")) {
+					mypass2 = NULL;
+				}
+
+				if (!mypass1) {
 					r->requestInfo.user = strdup(user);
 					goto authed;
 				} else {
-					if (mypass1) {
-						if (at) {
-							switch_snprintf(z, sizeof(z), "%s@%s:%s", user, domain_name, mypass1);
-						} else {
-							switch_snprintf(z, sizeof(z), "%s:%s", user, mypass1);
-						}
-						Base64Encode(z, t);
+					if (at) {
+						switch_snprintf(z, sizeof(z), "%s@%s:%s", user, domain_name, mypass1);
+					} else {
+						switch_snprintf(z, sizeof(z), "%s:%s", user, mypass1);
+					}
+					Base64Encode(z, t);
 
-						if (!strcmp(p, t)) {
-							r->requestInfo.user = strdup(box ? box : user);
-							goto authed;
-						}
+					if (!strcmp(p, t)) {
+						r->requestInfo.user = strdup(box ? box : user);
+						goto authed;
 					}
 
 					if (mypass2) {
@@ -278,18 +280,16 @@ static abyss_bool http_directory_auth(TSession * r, char *domain_name)
 					}
 
 					if (box) {
-						if (mypass1) {
-							if (at) {
-								switch_snprintf(z, sizeof(z), "%s@%s:%s", box, domain_name, mypass1);
-							} else {
-								switch_snprintf(z, sizeof(z), "%s:%s", box, mypass1);
-							}
-							Base64Encode(z, t);
+						if (at) {
+							switch_snprintf(z, sizeof(z), "%s@%s:%s", box, domain_name, mypass1);
+						} else {
+							switch_snprintf(z, sizeof(z), "%s:%s", box, mypass1);
+						}
+						Base64Encode(z, t);
 
-							if (!strcmp(p, t)) {
-								r->requestInfo.user = strdup(box);
-								goto authed;
-							}
+						if (!strcmp(p, t)) {
+							r->requestInfo.user = strdup(box);
+							goto authed;
 						}
 
 						if (mypass2) {