diff --git a/src/sbbs3/ftpsrvr.c b/src/sbbs3/ftpsrvr.c
index d44780223de6b1eb6d478085f74f46980f0e1e4a..0d4ba6d03d6858952aee106d44a058db07116b1d 100644
--- a/src/sbbs3/ftpsrvr.c
+++ b/src/sbbs3/ftpsrvr.c
@@ -2821,7 +2821,7 @@ static void ctrl_thread(void* arg)
 				sscanf(p,"%u,%u,%u,%u,%hd,%hd",&h1,&h2,&h3,&h4,&p1,&p2);
 				data_addr.in.sin_family=AF_INET;
 				data_addr.in.sin_addr.s_addr=htonl((h1<<24)|(h2<<16)|(h3<<8)|h4);
-				data_port = (p2<<8)|p1;
+				data_port = (p1<<8)|p2;
 			} else if(strnicmp(cmd, "EPRT ", 5)==0) { /* EPRT */
 				char	delim = *p;
 				int		prot;