diff -ur mc-4.7.0-pre4.orig/vfs/ftpfs.c mc-4.7.0-pre4/vfs/ftpfs.c --- mc-4.7.0-pre4.orig/vfs/ftpfs.c 2009-11-24 15:47:57.000000000 +0200 +++ mc-4.7.0-pre4/vfs/ftpfs.c 2009-11-24 15:48:25.000000000 +0200 @@ -981,7 +981,7 @@ memset (&data_addr, 0, sizeof (struct sockaddr_storage)); data_addrlen = sizeof (struct sockaddr_storage); - if (getpeername (SUP.sock, (struct sockaddr *) &data_addr, &data_addrlen) == -1) + if (getsockname (SUP.sock, (struct sockaddr *) &data_addr, &data_addrlen) == -1) return -1; switch (data_addr.ss_family) {