Index: /mpich2/trunk/src/mpid/common/datatype/dataloop/segment_ops.c
===================================================================
--- /mpich2/trunk/src/mpid/common/datatype/dataloop/segment_ops.c (revision 4874)
+++ /mpich2/trunk/src/mpid/common/datatype/dataloop/segment_ops.c (revision 4875)
@@ -823,5 +823,6 @@
 	     */
 	    last_end = (char*) MPI_AINT_CAST_TO_VOID_PTR
-		       (paramp->disps[last_idx] + ((DLOOP_Offset) paramp->blklens[last_idx]));
+		       (paramp->disps[last_idx] +
+			((DLOOP_Offset) paramp->blklens[last_idx]));
 	}
 
@@ -836,10 +837,6 @@
 	     * the end of the last one.
 	     */
-	    *blocks_p -= ((DLOOP_Offset) blocks_left + (((DLOOP_Offset) size) / el_size));
-#ifdef MPID_SP_VERBOSE
-	    MPIU_dbg_printf("\t[vector to vec exiting (1): next ind = %d, %d blocks processed.\n",
-			    paramp->u.pack_vector.index,
-			    (int) *blocks_p);
-#endif
+	    *blocks_p -= ((DLOOP_Offset) blocks_left +
+			  (((DLOOP_Offset) size) / el_size));
 	    return 1;
 	}
@@ -850,26 +847,18 @@
 	}
 	else {
-	    /* Since bufp can be a displacement and can be negative, we cannot use
-	     * MPI_VOID_PTR_CAST_TO_MPI_AINT to cast the sum to a pointer.  Just let it
-	     * sign extend.
+	    /* Since bufp can be a displacement and can be negative, we cannot
+	     * use MPI_VOID_PTR_CAST_TO_MPI_AINT to cast the sum to a pointer.
+	     * Just let it sign extend.
 	     */
-            paramp->disps[last_idx+1]   = MPI_PTR_DISP_CAST_TO_MPI_AINT bufp + rel_off + offsetarray[last_idx+1];
+            paramp->disps[last_idx+1]   = MPI_PTR_DISP_CAST_TO_MPI_AINT bufp + 
+		rel_off + offsetarray[i];
 	    paramp->blklens[last_idx+1] = size;
 	    paramp->index++;
 	}
-
-	rel_off += offsetarray[i];
-    }
-
-#ifdef MPID_SP_VERBOSE
-    MPIU_dbg_printf("\t[vector to vec exiting (2): next ind = %d, " MPI_AINT_FMT_DEC_SPEC " blocks processed.\n",
-		    paramp->u.pack_vector.index,
-		    *blocks_p);
-#endif
+    }
 
     /* if we get here then we processed ALL the blocks; don't need to update
      * blocks_p
      */
-
     DLOOP_Assert(blocks_left == 0);
     return 0;
