diff --git a/maestro/cdo.c b/maestro/cdo.c
index 969aaadea291a9988b40c79b1106db09955690d3..449551aa83394f9724f52828f8ef6d2d675cfa8d 100644
--- a/maestro/cdo.c
+++ b/maestro/cdo.c
@@ -2630,21 +2630,6 @@ mstro_cdo__mark_transfer_complete(mstro_cdo cdo)
   }
   
 
-  int64_t n_pieces;
-
-  /* reduce the number of outstanding segments by 1 as we received one part*/
-  n_pieces = atomic_fetch_sub(&cdo->n_segments, 1);
-  
-  assert(n_pieces > 0); /* there is some outstanding communication */
-  n_pieces--; /* decrement n_pieces to reflect cdo->n_segments after fetch and sub operation */
-
-  if (n_pieces != 0)
-  {
-    DEBUG("There are %zu outstanding pieces for CDO %zu \n", n_pieces, cdo->id.local_id);
-    return MSTRO_OK;
-  }
-  
-
   /* clear in-transport flag */
   s = s & ~(MSTRO_CDO_STATE_IN_TRANSPORT);
   switch(s) {