When "case" is enabled, we've been setting the target filename to the buffer in which we'd store the lower-cased version of the name, even if we ended up not generating a lower-cased version of the name, causing the client to store the incoming data in whichever file whose name we'd last generated. ITS#5940. diff -up src/appl/gssftp/ftp/cmds.c src/appl/gssftp/ftp/cmds.c --- src/appl/gssftp/ftp/cmds.c 2008-04-16 10:36:13.000000000 -0400 +++ src/appl/gssftp/ftp/cmds.c 2008-04-16 10:36:16.000000000 -0400 @@ -1013,8 +1013,10 @@ void mget(argc, argv) tp++; tp2++; } + tp = tmpbuf; + } else { + tp = cp; } - tp = tmpbuf; } if (ntflag) { tp = dotrans(tp);