diff --git a/src/vnet/tcp/tcp_newreno.c b/src/vnet/tcp/tcp_newreno.c
index 39035ba..8c7e77f 100644
--- a/src/vnet/tcp/tcp_newreno.c
+++ b/src/vnet/tcp/tcp_newreno.c
@@ -62,30 +62,31 @@
 newreno_rcv_cong_ack (tcp_connection_t * tc, tcp_cc_ack_t ack_type,
 		      tcp_rate_sample_t * rs)
 {
+  /* With sacks prr controls the data in flight post congestion */
+  if (PREDICT_TRUE (tcp_opts_sack_permitted (tc)))
+    return;
+
   if (ack_type == TCP_CC_DUPACK)
     {
-      if (!tcp_opts_sack_permitted (tc))
-	tc->cwnd += tc->snd_mss;
+      tc->cwnd += tc->snd_mss;
     }
   else if (ack_type == TCP_CC_PARTIALACK)
     {
-      /* RFC 6582 Sec. 3.2 */
-      if (!tcp_opts_sack_permitted (&tc->rcv_opts))
-	{
-	  /* Deflate the congestion window by the amount of new data
-	   * acknowledged by the Cumulative Acknowledgment field.
-	   * If the partial ACK acknowledges at least one SMSS of new data,
-	   * then add back SMSS bytes to the congestion window. This
-	   * artificially inflates the congestion window in order to reflect
-	   * the additional segment that has left the network. This "partial
-	   * window deflation" attempts to ensure that, when fast recovery
-	   * eventually ends, approximately ssthresh amount of data will be
-	   * outstanding in the network.*/
-	  tc->cwnd = (tc->cwnd > tc->bytes_acked + tc->snd_mss) ?
-	    tc->cwnd - tc->bytes_acked : tc->snd_mss;
-	  if (tc->bytes_acked > tc->snd_mss)
-	    tc->cwnd += tc->snd_mss;
-	}
+      /* RFC 6582 Sec. 3.2
+       * Deflate the congestion window by the amount of new data
+       * acknowledged by the Cumulative Acknowledgment field.
+       * If the partial ACK acknowledges at least one SMSS of new data,
+       * then add back SMSS bytes to the congestion window. This
+       * artificially inflates the congestion window in order to reflect
+       * the additional segment that has left the network. This "partial
+       * window deflation" attempts to ensure that, when fast recovery
+       * eventually ends, approximately ssthresh amount of data will be
+       * outstanding in the network. */
+      tc->cwnd = (tc->cwnd > tc->bytes_acked + tc->snd_mss) ?
+		   tc->cwnd - tc->bytes_acked :
+		   tc->snd_mss;
+      if (tc->bytes_acked > tc->snd_mss)
+	tc->cwnd += tc->snd_mss;
     }
 }
 
