Index: apps/app_meetme.c
===================================================================
--- apps/app_meetme.c	(revision 319651)
+++ apps/app_meetme.c	(working copy)
@@ -4853,65 +4853,77 @@
 	struct ast_conf_user *user;
 	struct ao2_iterator user_iter;
 	int total = 0;
+	int found = 0;
 
 	if (!ast_strlen_zero(actionid))
 		snprintf(idText, sizeof(idText), "ActionID: %s\r\n", actionid);
 
 	if (AST_LIST_EMPTY(&confs)) {
-		astman_send_error(s, m, "No active conferences.");
-		return 0;
+		if(ast_strlen_zero(conference)) {
+			astman_send_listack(s, m, "Meetme user list will follow", "start");
+		}
+		else {
+			astman_send_error(s, m, "No active conferences.");
+			return 0;
+		}
 	}
+	else {
+		/* Find the right conference */
+		AST_LIST_LOCK(&confs);
+		AST_LIST_TRAVERSE(&confs, cnf, list) {
+			/* If we ask for one particular, and this isn't it, skip it */
+			if (!ast_strlen_zero(conference) && strcmp(cnf->confno, conference))
+				continue;
 
-	astman_send_listack(s, m, "Meetme user list will follow", "start");
-
-	/* Find the right conference */
-	AST_LIST_LOCK(&confs);
-	AST_LIST_TRAVERSE(&confs, cnf, list) {
-		/* If we ask for one particular, and this isn't it, skip it */
-		if (!ast_strlen_zero(conference) && strcmp(cnf->confno, conference))
-			continue;
-
-		/* Show all the users */
-		user_iter = ao2_iterator_init(cnf->usercontainer, 0);
-		while ((user = ao2_iterator_next(&user_iter))) {
-			total++;
-			astman_append(s,
-				"Event: MeetmeList\r\n"
-				"%s"
-				"Conference: %s\r\n"
-				"UserNumber: %d\r\n"
-				"CallerIDNum: %s\r\n"
-				"CallerIDName: %s\r\n"
-				"Channel: %s\r\n"
-				"Admin: %s\r\n"
-				"Role: %s\r\n"
-				"MarkedUser: %s\r\n"
-				"Muted: %s\r\n"
-				"Talking: %s\r\n"
-				"\r\n",
-				idText,
-				cnf->confno,
-				user->user_no,
-				S_COR(user->chan->caller.id.number.valid, user->chan->caller.id.number.str, "<unknown>"),
-				S_COR(user->chan->caller.id.name.valid, user->chan->caller.id.name.str, "<no name>"),
-				user->chan->name,
-				ast_test_flag64(&user->userflags, CONFFLAG_ADMIN) ? "Yes" : "No",
-				ast_test_flag64(&user->userflags, CONFFLAG_MONITOR) ? "Listen only" : ast_test_flag64(&user->userflags, CONFFLAG_TALKER) ? "Talk only" : "Talk and listen",
-				ast_test_flag64(&user->userflags, CONFFLAG_MARKEDUSER) ? "Yes" : "No",
-				user->adminflags & ADMINFLAG_MUTED ? "By admin" : user->adminflags & ADMINFLAG_SELFMUTED ? "By self" : "No",
-				user->talking > 0 ? "Yes" : user->talking == 0 ? "No" : "Not monitored");
-			ao2_ref(user, -1);
+			/* Show all the users */
+			user_iter = ao2_iterator_init(cnf->usercontainer, 0);
+			while ((user = ao2_iterator_next(&user_iter))) {
+        if(!total)
+          astman_send_listack(s, m, "Meetme user list will follow", "start");
+				total++;
+				astman_append(s,
+					"Event: MeetmeList\r\n"
+					"%s"
+					"Conference: %s\r\n"
+					"UserNumber: %d\r\n"
+					"CallerIDNum: %s\r\n"
+					"CallerIDName: %s\r\n"
+					"Channel: %s\r\n"
+					"Admin: %s\r\n"
+					"Role: %s\r\n"
+					"MarkedUser: %s\r\n"
+					"Muted: %s\r\n"
+					"Talking: %s\r\n"
+					"\r\n",
+					idText,
+					cnf->confno,
+					user->user_no,
+					S_COR(user->chan->caller.id.number.valid, user->chan->caller.id.number.str, "<unknown>"),
+					S_COR(user->chan->caller.id.name.valid, user->chan->caller.id.name.str, "<no name>"),
+					user->chan->name,
+					ast_test_flag64(&user->userflags, CONFFLAG_ADMIN) ? "Yes" : "No",
+					ast_test_flag64(&user->userflags, CONFFLAG_MONITOR) ? "Listen only" : ast_test_flag64(&user->userflags, CONFFLAG_TALKER) ? "Talk only" : "Talk and listen",
+					ast_test_flag64(&user->userflags, CONFFLAG_MARKEDUSER) ? "Yes" : "No",
+					user->adminflags & ADMINFLAG_MUTED ? "By admin" : user->adminflags & ADMINFLAG_SELFMUTED ? "By self" : "No",
+					user->talking > 0 ? "Yes" : user->talking == 0 ? "No" : "Not monitored");
+				ao2_ref(user, -1);
+			}
+			ao2_iterator_destroy(&user_iter);
 		}
-		ao2_iterator_destroy(&user_iter);
+		AST_LIST_UNLOCK(&confs);
 	}
-	AST_LIST_UNLOCK(&confs);
-	/* Send final confirmation */
-	astman_append(s,
-	"Event: MeetmeListComplete\r\n"
-	"EventList: Complete\r\n"
-	"ListItems: %d\r\n"
-	"%s"
-	"\r\n", total, idText);
+	if(found || ast_strlen_zero(conference)) {
+		/* Send final confirmation */
+		astman_append(s,
+		"Event: MeetmeListComplete\r\n"
+		"EventList: Complete\r\n"
+		"ListItems: %d\r\n"
+		"%s"
+		"\r\n", total, idText);
+	}
+	else {
+		astman_send_error(s, m, "Requested conference not found.");
+	}
 	return 0;
 }
 
