diff --git a/lustre/obdecho/echo.c b/lustre/obdecho/echo.c
index 093f3aced6b063e8e5f8c40907a91cf4c7c053f8..924847278eefd683ec26726ac0b3b75b9e0cf001 100644
--- a/lustre/obdecho/echo.c
+++ b/lustre/obdecho/echo.c
@@ -392,7 +392,8 @@ int echo_commitrw(int cmd, struct obd_export *export, struct obdo *oa,
         LASSERT(oti == NULL || oti->oti_handle == (void *)DESC_PRIV);
 
         for (i = 0; i < objcount; i++, obj++) {
-                int verify = obj->ioo_id != ECHO_PERSISTENT_OBJID;
+                int verify = (rc == 0 &&
+                              obj->ioo_id != ECHO_PERSISTENT_OBJID);
                 int j;
 
                 for (j = 0 ; j < obj->ioo_bufcnt ; j++, r++) {