diff --git a/lustre/obdecho/echo_client.c b/lustre/obdecho/echo_client.c
index 87b2f92b691b7771baab359d88a9441cda886291..fa591b22a3e105af11c2b368023d7eb3670f721c 100644
--- a/lustre/obdecho/echo_client.c
+++ b/lustre/obdecho/echo_client.c
@@ -864,7 +864,6 @@ static int echo_client_prep_commit(struct obd_export *exp, int rw,
                 GOTO(out, ret = -ENOMEM);
 
         obdo_to_ioobj(oa, &ioo);
-        ioo.ioo_bufcnt = npages;
 
         off = offset;
 
@@ -879,6 +878,7 @@ static int echo_client_prep_commit(struct obd_export *exp, int rw,
 
                 /* XXX this can't be the best.. */
                 memset(oti, 0, sizeof(*oti));
+                ioo.ioo_bufcnt = npages;
 
                 ret = obd_preprw(rw, exp, oa, 1, &ioo, npages, rnb, lnb, oti);
                 if (ret != 0)