diff --git a/apps/app_meetme.c b/apps/app_meetme.c
index dd11efbda2ca4b7827881273ae9475761365dfb8..f9b16ce581bf08342e82da553625c1e37f94af18 100755
--- a/apps/app_meetme.c
+++ b/apps/app_meetme.c
@@ -465,7 +465,8 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, int c
 	int firstpass = 0;
 	int ret = -1;
 	int x;
-        int menu_active = 0;
+	int menu_active = 0;
+	int using_pseudo = 0;
 
 	struct ast_app *app;
 	char *agifile;
@@ -561,6 +562,7 @@ zapretry:
 			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) {
@@ -885,7 +887,7 @@ zapretry:
 		}
 	}
 	}
-	if (fd != chan->fds[0])
+	if (using_pseudo)
 		close(fd);
 	else {
 		/* Take out of conference */
diff --git a/rtp.c b/rtp.c
index 5fe648dfb773b98641ffee8b349562b3e5423eab..c02780fab7d30ebe477e5272f30b925a63aedfad 100755
--- a/rtp.c
+++ b/rtp.c
@@ -544,6 +544,8 @@ struct ast_frame *ast_rtp_read(struct ast_rtp *rtp)
 			rtp->lastividtimestamp = timestamp;
 		rtp->f.samples = timestamp - rtp->lastividtimestamp;
 		rtp->lastividtimestamp = timestamp;
+		rtp->f.delivery.tv_sec = 0;
+		rtp->f.delivery.tv_usec = 0;
 		if (mark)
 			rtp->f.subclass |= 0x1;
 		
@@ -1043,12 +1045,14 @@ static int ast_rtp_raw_write(struct ast_rtp *rtp, struct ast_frame *f, int codec
 		/* Re-calculate last TS */
 		rtp->lastts = rtp->lastts + ms * 90;
 		/* If it's close to our prediction, go for it */
-		if (abs(rtp->lastts - pred) < 7200) {
-			rtp->lastts = pred;
-			rtp->lastovidtimestamp += f->samples;
-		} else {
-			ast_log(LOG_DEBUG, "Difference is %d, ms is %d\n", abs(rtp->lastts - pred), ms);
-			rtp->lastovidtimestamp = rtp->lastts;
+		if (!f->delivery.tv_sec && !f->delivery.tv_usec) {
+			if (abs(rtp->lastts - pred) < 7200) {
+				rtp->lastts = pred;
+				rtp->lastovidtimestamp += f->samples;
+			} else {
+				ast_log(LOG_DEBUG, "Difference is %d, ms is %d (%d), pred/ts/samples %d/%d/%d\n", abs(rtp->lastts - pred), ms, ms * 90, rtp->lastts, pred, f->samples);
+				rtp->lastovidtimestamp = rtp->lastts;
+			}
 		}
 	}
 	/* Get a pointer to the header */