diff --git a/Lib/multifile.py b/Lib/multifile.py
index 4ef3644..23d9d31 100644
--- a/Lib/multifile.py
+++ b/Lib/multifile.py
@@ -41,7 +41,6 @@
         self.stack = [] # Grows down
         self.level = 0
         self.last = 0
-        self.readahead = ""
         if seekable:
             self.seekable = 1
             self.start = self.fp.tell()
@@ -50,7 +49,7 @@
     def tell(self):
         if self.level > 0:
             return self.lastpos
-        return self.fp.tell() - len(self.readahead) - self.start
+        return self.fp.tell() - self.start
 
     def seek(self, pos, whence=0):
         here = self.tell()
@@ -68,22 +67,8 @@
         self.fp.seek(pos + self.start)
         self.level = 0
         self.last = 0
-        self.readahead = ""
 
     def readline(self):
-        if not self.readahead:
-            self.readahead = self._readline()
-        line = self.readahead
-        if line:
-            self.readahead = self._readline()
-            if not self.readahead:
-                if line[-2:] == "\r\n":
-                    line = line[:-2]
-                elif line[-1:] == "\n":
-                    line = line[:-1]
-        return line
-
-    def _readline(self):
         if self.level > 0:
             return ''
         line = self.fp.readline()
diff --git a/Lib/test/test_multifile.py b/Lib/test/test_multifile.py
new file mode 100644
index 0000000..8f70347
--- /dev/null
+++ b/Lib/test/test_multifile.py
@@ -0,0 +1,66 @@
+import mimetools
+import multifile
+import cStringIO
+
+msg = """Mime-Version: 1.0
+Content-Type: multipart/mixed;
+	boundary="=====================_590453667==_"
+X-OriginalArrivalTime: 05 Feb 2002 03:43:23.0310 (UTC) FILETIME=[42D88CE0:01C1ADF7]
+
+--=====================_590453667==_
+Content-Type: multipart/alternative;
+	boundary="=====================_590453677==_.ALT"
+
+--=====================_590453677==_.ALT
+Content-Type: text/plain; charset="us-ascii"; format=flowed
+
+test A
+--=====================_590453677==_.ALT
+Content-Type: text/html; charset="us-ascii"
+
+<html>
+<b>test B</font></b></html>
+
+--=====================_590453677==_.ALT--
+
+--=====================_590453667==_
+Content-Type: text/plain; charset="us-ascii"
+Content-Disposition: attachment; filename="att.txt"
+
+Attached Content.
+Attached Content.
+Attached Content.
+Attached Content.
+
+--=====================_590453667==_--
+
+"""
+
+boundaries = 0
+linecount = 0
+
+def getMIMEMsg(mf):
+    global boundaries, linecount
+    msg = mimetools.Message(mf)
+
+    #print "TYPE: %s" % msg.gettype()
+    if msg.getmaintype() == 'multipart':
+        boundary = msg.getparam("boundary")
+        boundaries += 1
+
+        mf.push(boundary)
+        while mf.next(): 
+            getMIMEMsg(mf)     
+        mf.pop()
+    else:
+        lines = mf.readlines()
+        linecount += len(lines)
+
+def main():
+    f = cStringIO.StringIO(msg)
+    getMIMEMsg(multifile.MultiFile(f))
+    assert boundaries == 2
+    assert linecount == 9
+
+if __name__ == '__main__':
+    main()
