diff -urNp linux-2.6.13/net/ipv4/tcp_bic.c linux-2.6.13-new/net/ipv4/tcp_bic.c
--- linux-2.6.13/net/ipv4/tcp_bic.c	2005-08-28 18:41:01.000000000 -0500
+++ linux-2.6.13-new/net/ipv4/tcp_bic.c	2005-10-13 12:12:22.000000000 -0500
@@ -27,7 +27,7 @@
 					  */
 
 static int fast_convergence = 1;
-static int max_increment = 32;
+static int max_increment = 16;
 static int low_window = 14;
 static int beta = 819;		/* = 819/1024 (BICTCP_BETA_SCALE) */
 static int low_utilization_threshold = 153;
@@ -136,17 +136,16 @@ static inline void bictcp_update(struct 
 		else if (cwnd < ca->last_max_cwnd + max_increment*(BICTCP_B-1))
 			/* slow start */
 			ca->cnt = (cwnd * (BICTCP_B-1))
-				/ cwnd-ca->last_max_cwnd;
+				/ (cwnd-ca->last_max_cwnd);
 		else
 			/* linear increase */
 			ca->cnt = cwnd / max_increment;
 	}
 
 	/* if in slow start or link utilization is very low */
-	if ( ca->loss_cwnd == 0 ||
-	     (cwnd > ca->loss_cwnd && ca->low_utilization)) {
-		if (ca->cnt > 20) /* increase cwnd 5% per RTT */
-			ca->cnt = 20;
+	if ( ca->loss_cwnd == 0) {
+		if (ca->cnt > 50) /* increase cwnd 5% per RTT */
+			ca->cnt = 50;
 	}
 
 	ca->cnt = (ca->cnt << ACK_RATIO_SHIFT) / ca->delayed_ack;
