diff --git a/lustre/ldlm/ldlm_lib.c b/lustre/ldlm/ldlm_lib.c
index 23f0aba9c388dcfb3566b53df5870ae4fbc4dd6e..dd8147bbc5bb938281b208e9133d00d8b685c0a9 100644
--- a/lustre/ldlm/ldlm_lib.c
+++ b/lustre/ldlm/ldlm_lib.c
@@ -1803,8 +1803,8 @@ int target_handle_dqacq_callback(struct ptlrpc_request *req)
         /* we use the observer */
         if (!obd->obd_observer || !obd->obd_observer->obd_observer) {
                 CERROR("Can't find the observer, it is recovering\n");
-                req->rq_status = -EIO;
-                GOTO(send_reply, rc = -EIO);
+                req->rq_status = -EAGAIN;
+                GOTO(send_reply, rc = -EAGAIN);
         }
 
         master_obd = obd->obd_observer->obd_observer;