diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c
index 6321d76..98568bd 100644
--- a/fs/fuse/dev.c
+++ b/fs/fuse/dev.c
@@ -385,7 +385,6 @@
 	struct fuse_iqueue *fiq = &fc->iq;
 	void (*end) (struct fuse_conn *, struct fuse_req *) = req->end;
 	req->end = NULL;
-	list_del_init(&req->list);
 	spin_lock(&fiq->waitq.lock);
 	list_del_init(&req->intr_entry);
 	spin_unlock(&fiq->waitq.lock);
@@ -1291,6 +1290,7 @@
 		/* SETXATTR is special, since it may contain too large data */
 		if (in->h.opcode == FUSE_SETXATTR)
 			req->out.h.error = -E2BIG;
+		list_del_init(&req->list);
 		request_end(fc, req);
 		goto restart;
 	}
@@ -1304,15 +1304,18 @@
 	spin_lock(&fc->lock);
 	clear_bit(FR_LOCKED, &req->flags);
 	if (!fpq->connected) {
+		list_del_init(&req->list);
 		request_end(fc, req);
 		return -ENODEV;
 	}
 	if (err) {
 		req->out.h.error = -EIO;
+		list_del_init(&req->list);
 		request_end(fc, req);
 		return err;
 	}
 	if (!test_bit(FR_ISREPLY, &req->flags)) {
+		list_del_init(&req->list);
 		request_end(fc, req);
 	} else {
 		list_move_tail(&req->list, &fpq->processing);
@@ -1932,6 +1935,7 @@
 		err = -ENOENT;
 	else if (err)
 		req->out.h.error = -EIO;
+	list_del_init(&req->list);
 	request_end(fc, req);
 
 	return err ? err : nbytes;
@@ -2073,6 +2077,7 @@
 		req->out.h.error = -ECONNABORTED;
 		clear_bit(FR_PENDING, &req->flags);
 		clear_bit(FR_SENT, &req->flags);
+		list_del_init(&req->list);
 		request_end(fc, req);
 		spin_lock(&fc->lock);
 	}
@@ -2150,6 +2155,7 @@
 		while (!list_empty(&to_end1)) {
 			req = list_first_entry(&to_end1, struct fuse_req, list);
 			__fuse_get_request(req);
+			list_del_init(&req->list);
 			request_end(fc, req);
 			spin_lock(&fc->lock);
 		}
