diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index 5f8517d1a0a5de2d8364f8cb0f25b0d9183cf660..5b980246b03533270c4c5d329e652f66c2e4248c 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -754,7 +754,7 @@ static int nfs41_sequence_process(struct rpc_task *task,
 	if (slot == NULL)
 		goto out_noaction;
 	/* don't increment the sequence number if the task wasn't sent */
-	if (!RPC_WAS_SENT(task))
+	if (!RPC_WAS_SENT(task) || slot->seq_done)
 		goto out;
 
 	session = slot->table->session;