fix
diff --git a/lib/fuse.c b/lib/fuse.c
index ee95664..4146d41 100644
--- a/lib/fuse.c
+++ b/lib/fuse.c
@@ -1299,6 +1299,7 @@
     struct fuse_dirhandle *dh = (struct fuse_dirhandle *) (uintptr_t) llfi->fh;
     memset(fi, 0, sizeof(struct fuse_file_info));
     fi->fh = dh->fh;
+    fi->fh_old = dh->fh;
     return dh;
 }
 
@@ -2064,7 +2065,7 @@
         fi->fh = tmp.fh;
         return err;
     } else
-        return 
+        return
             ((struct fuse_operations_compat2 *) &f->op)->open(path, fi->flags);
 }
 
@@ -2173,7 +2174,7 @@
 
 static int fuse_do_open(struct fuse *f, char *path, struct fuse_file_info *fi)
 {
-    return f->op.open(path, fi);    
+    return f->op.open(path, fi);
 }
 
 static void fuse_do_release(struct fuse *f, char *path,
@@ -2185,7 +2186,7 @@
 static int fuse_do_opendir(struct fuse *f, char *path,
                            struct fuse_file_info *fi)
 {
-    return f->op.opendir(path, fi);    
+    return f->op.opendir(path, fi);
 }
 
 static int fuse_do_statfs(struct fuse *f, char *path, struct statvfs *buf)