diff --git a/lustre/ost/ost_handler.c b/lustre/ost/ost_handler.c
index a9ed9c5288d60fc6bb4d2a25923ceab25354aeb6..3e6f0f2cf31a74f0bfcc803feed1e6ae42a51d6a 100644
--- a/lustre/ost/ost_handler.c
+++ b/lustre/ost/ost_handler.c
@@ -293,7 +293,7 @@ static int ost_punch(struct obd_export *exp, struct ptlrpc_request *req,
 
         if ((oinfo.oi_oa->o_valid & (OBD_MD_FLSIZE | OBD_MD_FLBLOCKS)) !=
             (OBD_MD_FLSIZE | OBD_MD_FLBLOCKS))
-                RETURN(-EINVAL);
+                RETURN(-EPROTO);
 
         rc = lustre_pack_reply(req, 2, size, NULL);
         if (rc)