--- sys/fs/nfsclient/nfs_clrpcops.c.orig	2022-07-16 07:04:26.517365000 -0700
+++ sys/fs/nfsclient/nfs_clrpcops.c	2022-07-16 07:04:26.516575000 -0700
@@ -1060,8 +1060,14 @@ nfsrpc_setclient(struct nfsmount *nmp, struct nfsclcli
 			 * in-progress RPCs.
 			 */
 			tsep = NULL;
-			if (TAILQ_FIRST(&nmp->nm_sess) != NULL)
+			if (TAILQ_FIRST(&nmp->nm_sess) != NULL) {
+				/*
+				 * Mark the old session defunct.  Needed
+				 * when called from nfscl_hasexpired().
+				 */
 				tsep = NFSMNT_MDSSESSION(nmp);
+				tsep->nfsess_defunct = 1;
+			}
 			TAILQ_INSERT_HEAD(&nmp->nm_sess, dsp,
 			    nfsclds_list);
 			/*
