diff --git a/exec/load/ftp.js b/exec/load/ftp.js
index decf16b9230bf5f5d276d4627243b8aa6e8fc91b..dfec27b886c03cd302dc43eb2b80e5b1e33cf607 100644
--- a/exec/load/ftp.js
+++ b/exec/load/ftp.js
@@ -417,9 +417,16 @@ FTP.prototype.data_socket = function(cmd)
 	}
 
 	rstr = this.cmd(cmd, true);
-	if (parseInt(rstr, 10) !== 150) {
-		ds.close();
-		throw(cmd+" failed: " + rstr);
+	switch (parseInt(rstr, 10)) {
+		case 150:
+			break;
+		case 125:
+			if (ds.is_connected)
+				break;
+			// Fall-through
+		default:
+			ds.close();
+			throw(cmd+" failed: " + rstr);
 	}
 
 	if (!this.passive) {