diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c
index 75abaa87abaca130edac954af38197551cd9c5ed..decc3b74e65f453289d0b7b29c2fa8da1d784385 100644
--- a/net/ceph/osd_client.c
+++ b/net/ceph/osd_client.c
@@ -1254,6 +1254,8 @@ static void __unregister_linger_request(struct ceph_osd_client *osdc,
 		if (list_empty(&req->r_osd_item))
 			req->r_osd = NULL;
 	}
+
+	list_del_init(&req->r_req_lru_item); /* can be on notarget */
 	ceph_osdc_put_request(req);
 }