First xfer succeeds, the second actually fails despite reported success: Status: Connecting to 192.168.1.37:21... Status: Connection established, waiting for welcome message... Trace: CFtpControlSocket::OnReceive() Response: 220-Welcome to DrFoo's FTP Server Response: 220-FileZilla Server version 0.9.18 beta Response: 220-written by Tim Kosse (Tim.Kosse@gmx.de) Response: 220 Please visit http://sourceforge.net/projects/filezilla/ Command: USER anonymous Trace: CFtpControlSocket::OnReceive() Response: 331 Password required for anonymous Command: PASS ************** Trace: CFtpControlSocket::OnReceive() Response: 230 Logged on Status: Connected Trace: CFtpControlSocket::ResetOperation(0) Trace: CControlSocket::ResetOperation(0) Trace: CFtpControlSocket::FileTransfer() Status: Starting download of /bigball.jpg Trace: CFtpControlSocket::SendNextCommand(0) Command: CWD / Trace: CFtpControlSocket::OnReceive() Response: 250 CWD successful. "/" is current directory. Command: PWD Trace: CFtpControlSocket::OnReceive() Response: 257 "/" is current directory. Trace: CFtpControlSocket::ResetOperation(0) Trace: CControlSocket::ResetOperation(0) Trace: CFtpControlSocket::SendNextCommand(0) Trace: FileTransferSend() Trace: CFtpControlSocket::SendNextCommand(0) Trace: FileTransferSend() Trace: CFtpControlSocket::SendNextCommand(0) Trace: CFtpControlSocket::TransferSend(0) Trace: state = 1 Command: TYPE I Trace: CFtpControlSocket::OnReceive() Response: 200 Type set to I Trace: CFtpControlSocket::TransferParseResponse() Trace: code = 2 Trace: state = 1 Trace: CFtpControlSocket::TransferSend(0) Trace: state = 2 Command: PASV Trace: CFtpControlSocket::OnReceive() Response: 227 Entering Passive Mode (192,168,1,37,15,87) Trace: CFtpControlSocket::TransferParseResponse() Trace: code = 2 Trace: state = 2 Trace: CFtpControlSocket::TransferSend(0) Trace: state = 4 Command: RETR bigball.jpg Trace: CTransferSocket::OnConnect Trace: CTransferSocket::OnReceive(), m_transferMode=2 Trace: CFtpControlSocket::OnReceive() Response: 150 Connection accepted Trace: CFtpControlSocket::TransferParseResponse() Trace: code = 1 Trace: state = 4 Trace: CFtpControlSocket::TransferSend(0) Trace: state = 5 Trace: CTransferSocket::OnReceive(), m_transferMode=2 Trace: CTransferSocket::OnReceive(), m_transferMode=2 Trace: CTransferSocket::OnReceive(), m_transferMode=2 Trace: CFtpControlSocket::OnReceive() Response: 226 Transfer OK Trace: CFtpControlSocket::TransferParseResponse() Trace: code = 2 Trace: state = 5 Trace: CFtpControlSocket::TransferSend(0) Trace: state = 8 Trace: CTransferSocket::OnReceive(), m_transferMode=2 Trace: CTransferSocket::OnReceive(), m_transferMode=2 Trace: CTransferSocket::OnReceive(), m_transferMode=2 Trace: CTransferSocket::OnReceive(), m_transferMode=2 Trace: CTransferSocket::OnClose Trace: CTransferSocket::OnReceive(), m_transferMode=2 Trace: CTransferSocket::OnReceive(), m_transferMode=2 Trace: CTransferSocket::OnClose Trace: CTransferSocket::TransferEnd(1) Trace: CTransferSocket::OnClose Trace: CFtpControlSocket::TransferEnd() Trace: CFtpControlSocket::ResetOperation(0) Trace: CTransferSocket::TransferEnd(1) Trace: CControlSocket::ResetOperation(0) Trace: CFtpControlSocket::SendNextCommand(0) Trace: FileTransferSend() Trace: CFtpControlSocket::ResetOperation(0) Trace: CControlSocket::ResetOperation(0) Status: File transfer successful Trace: CFtpControlSocket::FileTransfer() Status: Starting download of /bigball.jpg Trace: CFtpControlSocket::SendNextCommand(0) Trace: FileTransferSend() Trace: CFtpControlSocket::SendNextCommand(0) Trace: CFtpControlSocket::TransferSend(0) Trace: state = 2 Command: PASV Trace: CFtpControlSocket::OnReceive() Response: 227 Entering Passive Mode (192,168,1,37,15,99) Trace: CFtpControlSocket::TransferParseResponse() Trace: code = 2 Trace: state = 2 Trace: CFtpControlSocket::TransferSend(0) Trace: state = 4 Command: RETR bigball.jpg Trace: CTransferSocket::OnConnect Trace: CTransferSocket::OnReceive(), m_transferMode=2 Trace: CFtpControlSocket::OnReceive() Response: 150 Connection accepted Trace: CFtpControlSocket::TransferParseResponse() Trace: code = 1 Trace: state = 4 Trace: CFtpControlSocket::TransferSend(0) Trace: state = 5 Trace: CTransferSocket::OnReceive(), m_transferMode=2 Trace: CTransferSocket::OnReceive(), m_transferMode=2 Trace: CTransferSocket::OnReceive(), m_transferMode=2 Trace: CFtpControlSocket::OnReceive() Response: 226 Transfer OK Trace: CFtpControlSocket::TransferParseResponse() Trace: code = 2 Trace: state = 5 Trace: CFtpControlSocket::TransferSend(0) Trace: state = 8 Trace: CTransferSocket::OnReceive(), m_transferMode=2 Trace: CTransferSocket::OnReceive(), m_transferMode=2 Trace: CTransferSocket::OnReceive(), m_transferMode=2 Trace: CTransferSocket::OnReceive(), m_transferMode=2 Trace: CTransferSocket::OnClose Trace: CTransferSocket::OnReceive(), m_transferMode=2 Trace: CTransferSocket::OnReceive(), m_transferMode=2 Trace: CTransferSocket::OnClose Trace: CTransferSocket::TransferEnd(1) Trace: CTransferSocket::OnClose Trace: CFtpControlSocket::TransferEnd() Trace: CFtpControlSocket::ResetOperation(0) Trace: CTransferSocket::TransferEnd(1) Trace: CControlSocket::ResetOperation(0) Trace: CFtpControlSocket::SendNextCommand(0) Trace: FileTransferSend() Trace: CFtpControlSocket::ResetOperation(0) Trace: CControlSocket::ResetOperation(0) Status: File transfer successful