diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index 283e4ed1aca1993e2a8242958ca250cc6a6858ca..c138dd107d4a3cfb80901908e5a701067e4db80a 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -770,7 +770,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;