diff --git a/nfsmount.c b/nfsmount.c
index 90cf9fb..cd722ac 100644
--- a/nfsmount.c
+++ b/nfsmount.c
@@ -262,7 +262,7 @@
 	char hostdir[1024];
 	CLIENT *mclient;
 	char *hostname;
-	char *dirname;
+	char *pathname;
 	char *old_opts;
 	char *mounthost=NULL;
 	char new_opts[1024];
@@ -316,7 +316,7 @@
 	strcpy(hostdir, spec);
 	if ((s = strchr(hostdir, ':'))) {
 		hostname = hostdir;
-		dirname = s + 1;
+		pathname = s + 1;
 		*s = '\0';
 		/* Ignore all but first hostname in replicated mounts
 		   until they can be fully supported. (mack@sgi.com) */
@@ -662,7 +662,7 @@
 			mclient = 0;
 			}
 			if (mclient) {
-				/* try to mount hostname:dirname */
+				/* try to mount hostname:pathname */
 				mclient->cl_auth = authunix_create_default();
 
 			/* make pointers in xdr_mountres3 NULL so
@@ -673,14 +673,14 @@
 			if (pm_mnt->pm_vers == 3)
 				clnt_stat = clnt_call(mclient, MOUNTPROC3_MNT,
 						      (xdrproc_t) xdr_dirpath,
-						      (caddr_t) &dirname,
+						      (caddr_t) &pathname,
 						      (xdrproc_t) xdr_mountres3,
 						      (caddr_t) &status,
 					total_timeout);
 			else
 				clnt_stat = clnt_call(mclient, MOUNTPROC_MNT,
 						      (xdrproc_t) xdr_dirpath,
-						      (caddr_t) &dirname,
+						      (caddr_t) &pathname,
 						      (xdrproc_t) xdr_fhstatus,
 						      (caddr_t) &status,
 						      total_timeout);
@@ -720,7 +720,7 @@
 	if (nfsvers == 2) {
 		if (status.nfsv2.fhs_status != 0) {
 			error_msg("%s:%s failed, reason given by server: %s",
-				hostname, dirname,
+				hostname, pathname,
 				nfs_strerror(status.nfsv2.fhs_status));
 			goto fail;
 		}
@@ -738,7 +738,7 @@
 		fhandle3 *my_fhandle;
 		if (status.nfsv3.fhs_status != 0) {
 			error_msg("%s:%s failed, reason given by server: %s",
-				hostname, dirname,
+				hostname, pathname,
 				nfs_strerror(status.nfsv3.fhs_status));
 			goto fail;
 		}
