diff --git a/apps/app_meetme.c b/apps/app_meetme.c
index 73aaefc0e696b9c3624177ced4377a2ff7243c80..f0ab25903b999aa51a708636d8b422906a588f66 100644
--- a/apps/app_meetme.c
+++ b/apps/app_meetme.c
@@ -4419,15 +4419,13 @@ static int conf_exec(struct ast_channel *chan, const char *data)
 					res = -1;
 				}
 			} else {
-				if (((!ast_strlen_zero(cnf->pin)       &&
-					!ast_test_flag64(&confflags, CONFFLAG_ADMIN)) ||
-				     (!ast_strlen_zero(cnf->pinadmin)  &&
-						 ast_test_flag64(&confflags, CONFFLAG_ADMIN)) ||
-					     (!ast_strlen_zero(cnf->pin) &&
-							 ast_strlen_zero(cnf->pinadmin) &&
-							 ast_test_flag64(&confflags, CONFFLAG_ADMIN))) &&
-				    ((!(cnf->users == 0 && cnf->isdynamic)) ||
-						ast_test_flag64(&confflags, CONFFLAG_ALWAYSPROMPT))) {
+				/* Check to see if the conference requires a pin
+				 * and we ALWAYS prompt or no pin was provided */
+				if ((!ast_strlen_zero(cnf->pin) ||
+					(!ast_strlen_zero(cnf->pinadmin) &&
+						ast_test_flag64(&confflags, CONFFLAG_ADMIN))) &&
+				    (ast_test_flag64(&confflags, CONFFLAG_ALWAYSPROMPT) ||
+						ast_strlen_zero(args.pin))) {
 					char pin[MAX_PIN] = "";
 					int j;