diff --git a/src/save.c b/src/save.c index 62d2325ef..a5519b807 100644 --- a/src/save.c +++ b/src/save.c @@ -723,11 +723,13 @@ bufon(fd) int fd; { #ifdef UNIX - if(bw_fd >= 0) - panic("double buffering unexpected"); - bw_fd = fd; - if((bw_FILE = fdopen(fd, "w")) == 0) - panic("buffering of file %d failed", fd); + if(bw_fd != fd) { + if(bw_fd >= 0) + panic("double buffering unexpected"); + bw_fd = fd; + if((bw_FILE = fdopen(fd, "w")) == 0) + panic("buffering of file %d failed", fd); + } #endif buffering = TRUE; }