diff --git a/lib/modules/Stdio.pmod b/lib/modules/Stdio.pmod
index e10525f88710ee84f4306974d88b82281366e246..14ecc3bdcbeb77aace4892666ebee828b7a6b3e0 100644
--- a/lib/modules/Stdio.pmod
+++ b/lib/modules/Stdio.pmod
@@ -60,7 +60,7 @@ class FILE {
 
     int tell()
     {
-      return bpos;
+      return file::tell()-sizeof(b)+bpos;
     }
 
     int close(void|string mode)