> m = where + s->active; > > if (s->physical_offset != m && lseek (s->fd, m, SEEK_SET) < 0) > return NULL; > > I don't think this is correct. You are dead on, I have fixed this and have a patch regression testing now. The above did not break backspace_6.f90, but it broke some other things. Stay tuned.