diff --git a/lustre/ptlrpc/recov_thread.c b/lustre/ptlrpc/recov_thread.c
index e995c5c7743de3c094c5017131655f3b5215e043..60e8a130879d6694ab8c5c40aeda1001d6f1f082 100644
--- a/lustre/ptlrpc/recov_thread.c
+++ b/lustre/ptlrpc/recov_thread.c
@@ -552,6 +552,11 @@ int llog_obd_repl_cancel(struct llog_ctxt *ctxt,
                 GOTO(out, rc = -ENODEV);
         }
 
+        if (ctxt->loc_obd->obd_stopping) {
+                CDEBUG(D_RPCTRACE, "Obd is stopping for ctxt %p\n", ctxt);
+                GOTO(out, rc = -ENODEV);
+        }
+
         if (test_bit(LLOG_LCM_FL_EXIT, &lcm->lcm_flags)) {
                 CDEBUG(D_RPCTRACE, "Commit thread is stopping for ctxt %p\n", 
                        ctxt);