diff --git a/src/sbbs3/ftpsrvr.c b/src/sbbs3/ftpsrvr.c
index 1d3a83b3b3f7e3f2abf1dbaf817410177c1da2b9..90f1a4535ce31d5534c60df05b51796ff9e05c55 100644
--- a/src/sbbs3/ftpsrvr.c
+++ b/src/sbbs3/ftpsrvr.c
@@ -2296,11 +2296,6 @@ static BOOL ftpalias(char* fullalias, char* filename, user_t* user, client_t* cl
 			*(p-1) = 0;
 	}
 
-	if(filename==NULL /* directory */ && *fname /* filename specified */) {
-		fclose(fp);
-		return(FALSE);
-	}
-
 	while(!feof(fp)) {
 		if(!fgets(line,sizeof(line),fp))
 			break;
@@ -2324,6 +2319,9 @@ static BOOL ftpalias(char* fullalias, char* filename, user_t* user, client_t* cl
 		FIND_WHITESPACE(tp);
 		if(*tp) *tp=0;
 
+		if(filename == NULL /* CWD? */ && *lastchar(p) != '/')
+			return FALSE;
+
 		if(!strnicmp(p,BBS_VIRTUAL_PATH,strlen(BBS_VIRTUAL_PATH))) {
 			if((dir=getdir(p+strlen(BBS_VIRTUAL_PATH),user,client))<0)	{
 				lprintf(LOG_WARNING,"0000 <%s> !Invalid virtual path: %s",user->alias, p);