diff --git a/src/cmd/9pfuse/main.c b/src/cmd/9pfuse/main.c
index c9d4f55..45041e6 100644
--- a/src/cmd/9pfuse/main.c
+++ b/src/cmd/9pfuse/main.c
@@ -855,6 +855,7 @@
  * are stored in m->d,nd,d0.
  */
 int canpack(Dir*, uvlong, uchar**, uchar*);
+Dir *dotdirs(CFid*);
 void
 fusereaddir(FuseMsg *m)
 {
@@ -871,9 +872,8 @@
 	if(in->offset == 0){
 		fsseek(ff->fid, 0, 0);
 		free(ff->d0);
-		ff->d0 = nil;
-		ff->d = nil;
-		ff->nd = 0;
+		ff->d0 = ff->d = dotdirs(ff->fid);
+		ff->nd = 2;
 	}
 	n = in->size;
 	if(n > fusemaxwrite)
@@ -906,6 +906,31 @@
 	free(buf);
 }
 
+/*
+ * Fuse assumes that it can always read two directory entries.
+ * If it gets just one, it will double it in the dirread results.
+ * Thus if a directory contains just "a", you see "a" twice.
+ * Adding . as the first directory entry works around this.
+ * We could add .. too, but it isn't necessary.
+ */
+Dir*
+dotdirs(CFid *f)
+{
+	Dir *d;
+	CFid *f1;
+
+	d = emalloc(2*sizeof *d);
+	d[0].name = ".";
+	d[0].qid = fsqid(f);
+	d[1].name = "..";
+	f1 = fswalk(f, "..");
+	if(f1){
+		d[1].qid = fsqid(f1);
+		fsclose(f1);
+	}
+	return d;
+}
+
 int
 canpack(Dir *d, uvlong off, uchar **pp, uchar *ep)
 {
