diff --git a/jitterbuf.c b/jitterbuf.c
index 365ec44f09e28edfb78753506444ef8903d84b42..e319776ca03f6601a8a3d7f66fe66f9a6041581e 100755
--- a/jitterbuf.c
+++ b/jitterbuf.c
@@ -489,7 +489,7 @@ static int _jb_get(jitterbuf *jb, jb_frame *frameout, long now)
 
 
 	/* target */
-	jb->info.target = jb->info.jitter + jb->info.min + 2 * jb->info.last_voice_ms; 
+	jb->info.target = jb->info.jitter + jb->info.min + JB_TARGET_EXTRA; 
 
 	/* if a hard clamp was requested, use it */
 	if ((jb->info.max_jitterbuf) && ((jb->info.target - jb->info.min) > jb->info.max_jitterbuf)) {
@@ -509,8 +509,8 @@ static int _jb_get(jitterbuf *jb, jb_frame *frameout, long now)
 	if (!jb->info.silence) { 
 		/* we want to grow */
 		if ((diff > 0) && 
-			/* we haven't grown in 2 frames' length */
-			(((jb->info.last_adjustment + 2 * jb->info.last_voice_ms ) < now) || 
+			/* we haven't grown in the delay length */
+			(((jb->info.last_adjustment + JB_ADJUST_DELAY) < now) || 
 			/* we need to grow more than the "length" we have left */
 			(diff > queue_last(jb)  - queue_next(jb)) ) ) {
 			
@@ -558,7 +558,10 @@ static int _jb_get(jitterbuf *jb, jb_frame *frameout, long now)
 		}
 
 		/* we want to shrink; shrink at 1 frame / 500ms */
-		if (diff < -2 * jb->info.last_voice_ms && 
+		/* unless we don't have a frame, then shrink 1 frame */
+		/* every 80ms (though perhaps we can shrink even faster */
+		/* in this case) */
+		if (diff < -JB_TARGET_EXTRA && 
 		((!frame && jb->info.last_adjustment + 80 < now) || 
 			(jb->info.last_adjustment + 500 < now))) {
 
diff --git a/jitterbuf.h b/jitterbuf.h
index 926a3d19ab61fc619dff7bb1a5719402342bd96b..aa73e805b8b529731683004c430819547f264753 100755
--- a/jitterbuf.h
+++ b/jitterbuf.h
@@ -30,6 +30,10 @@ extern "C" {
 #define JB_HISTORY_DROPPCT_MAX	4
 	/* the size of the buffer we use to keep the top and botton timestamps for dropping */
 #define JB_HISTORY_MAXBUF_SZ	JB_HISTORY_SZ * JB_HISTORY_DROPPCT_MAX / 100 
+	/* amount of additional jitterbuffer adjustment  */
+#define JB_TARGET_EXTRA 40
+	/* ms between growing and shrinking; may not be honored if jitterbuffer runs out of space */
+#define JB_ADJUST_DELAY 40
 
 
 /* return codes */