diff --git a/Mac/Unsupported/mactcp/socket.py b/Mac/Unsupported/mactcp/socket.py
index 852a653..3782eb5 100644
--- a/Mac/Unsupported/mactcp/socket.py
+++ b/Mac/Unsupported/mactcp/socket.py
@@ -125,9 +125,9 @@
 		self.stream.ActiveOpen(self.port, _ipaddress(host), port)
 		
 	def getsockname(self):
-		st = self.stream.Status()
-		host = macdnr.AddrToStr(st.localHost)
-		return host, st.localPort
+		host, port = self.stream.GetSockName()
+		host = macdnr.AddrToStr(host)
+		return host, port
 		
 	def getpeername(self):
 		st = self.stream.Status()
@@ -147,9 +147,6 @@
 		if not self.databuf:
 			try:
 				self.databuf, urg, mark = self.stream.Rcv(0)
-				if not self.databuf:
-					print '** socket: no data!'
-				print '** recv: got ', len(self.databuf)
 			except mactcp.error, arg:
 				if arg[0] != MACTCP.connectionClosing:
 					raise mactcp.error, arg
@@ -211,7 +208,6 @@
 			i = string.index(self.buf, '\n')
 			rv = self.buf[:i+1]
 			self.buf = self.buf[i+1:]
-		print '** Readline:',self, `rv`
 		return rv
 			
 	def write(self, buf):
