Always open file objects in binary mode.
diff --git a/Lib/ftplib.py b/Lib/ftplib.py
index e42ed8c..e24036a 100644
--- a/Lib/ftplib.py
+++ b/Lib/ftplib.py
@@ -111,7 +111,7 @@
 		self.passiveserver = 0
 		self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 		self.sock.connect(self.host, self.port)
-		self.file = self.sock.makefile('r')
+		self.file = self.sock.makefile('rb')
 		self.welcome = self.getresp()
 
 	def getwelcome(self):
@@ -323,7 +323,7 @@
 		if not callback: callback = print_line
 		resp = self.sendcmd('TYPE A')
 		conn = self.transfercmd(cmd)
-		fp = conn.makefile('r')
+		fp = conn.makefile('rb')
 		while 1:
 			line = fp.readline()
 			if self.debugging > 2: print '*retr*', `line`