diff --git a/main/jitterbuf.c b/main/jitterbuf.c
index 5f32529f2aec852ab37bd68acc6b895b0c764771..189be345149d4eafb1e97e22fa69d4f0e81e4ea6 100644
--- a/main/jitterbuf.c
+++ b/main/jitterbuf.c
@@ -756,8 +756,8 @@ static enum jb_return_code _jb_get(jitterbuf *jb, jb_frame *frameout, long now,
 long jb_next(jitterbuf *jb) 
 {
 	if (jb->info.silence_begin_ts) {
-		long next = queue_next(jb);
-		if (next > 0) { 
+		if (jb->frames) {
+			long next = queue_next(jb);
 			history_get(jb);
 			/* shrink during silence */
 			if (jb->info.target - jb->info.current < -jb->info.conf.target_extra)