diff --git a/apps/app_meetme.c b/apps/app_meetme.c
index 5a3783f2ea376466b8653fe78003c7c3d5be81e3..d4cc236c933a2c058eae4e69bc28761693be65e5 100644
--- a/apps/app_meetme.c
+++ b/apps/app_meetme.c
@@ -1973,7 +1973,6 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, int c
 	int ms;
 	int nfds;
 	int res;
-	int flags;
 	int retrydahdi;
 	int origfd;
 	int musiconhold = 0;
@@ -2332,24 +2331,13 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, int c
  dahdiretry:
 	origfd = chan->fds[0];
 	if (retrydahdi) {
-		fd = open("/dev/dahdi/pseudo", O_RDWR);
+		/* open pseudo in non-blocking mode */
+		fd = open("/dev/dahdi/pseudo", O_RDWR | O_NONBLOCK);
 		if (fd < 0) {
 			ast_log(LOG_WARNING, "Unable to open pseudo channel: %s\n", strerror(errno));
 			goto outrun;
 		}
 		using_pseudo = 1;
-		/* Make non-blocking */
-		flags = fcntl(fd, F_GETFL);
-		if (flags < 0) {
-			ast_log(LOG_WARNING, "Unable to get flags: %s\n", strerror(errno));
-			close(fd);
-			goto outrun;
-		}
-		if (fcntl(fd, F_SETFL, flags | O_NONBLOCK)) {
-			ast_log(LOG_WARNING, "Unable to set flags: %s\n", strerror(errno));
-			close(fd);
-			goto outrun;
-		}
 		/* Setup buffering information */
 		memset(&bi, 0, sizeof(bi));
 		bi.bufsize = CONF_SIZE / 2;