Index: /trunk/Mars/mbase/MZlib.cc
===================================================================
--- /trunk/Mars/mbase/MZlib.cc	(revision 11423)
+++ /trunk/Mars/mbase/MZlib.cc	(revision 11424)
@@ -138,9 +138,9 @@
     if (dir==ios::cur)
     {
-        // Position in z-stream
-        const z_off_t zpos = gztell(fFile); //gzseek(fFile, 0, SEEK_CUR);
-
         // Calculate future position in streambuffer
         const char *ptr = gptr()+offset;
+
+        // Position in z-stream
+        const z_off_t zpos = gztell(fFile)+gptr()-egptr(); //gzseek(fFile, 0, SEEK_CUR);
 
         // Check if the new position will still be in the buffer
Index: /trunk/Mars/mbase/MZlib.h
===================================================================
--- /trunk/Mars/mbase/MZlib.h	(revision 11423)
+++ /trunk/Mars/mbase/MZlib.h	(revision 11424)
@@ -18,5 +18,5 @@
 {
 private:
-    static const int fgBufferSize = 47+256; // size of data buff totals 512 bytes under g++ for igzstream at the end.
+    static const int fgBufferSize = 3276804; // maximum size of a fact event + 4
 
     gzFile fFile;                 // file handle for compressed file
