diff --git a/README.md b/README.md
index fe9a23e4a3a6b8cecda273e05fb0cf7687dcf532..7bcf37cafb6a2385d5f8f6dcdf57a2bf400fd119 100644
--- a/README.md
+++ b/README.md
@@ -61,12 +61,12 @@ cd: no such file or directory: blaat
 a.miek.nl.	899	IN	A	176.58.119.54
 ~~~
 
-To quit kill `dnsfsmain` with control-C and `fusermount -u /tmp/dns` to clean up.
-
-See [this recording](https://asciinema.org/a/cphAcSWynSxuyGGiEhn9za8On).
+To quit kill `dnsfsmain` with control-C. And `fusermount -u /tmp/dns` to clean up.
 
 ## Also See
 
+See [this recording](https://asciinema.org/a/cphAcSWynSxuyGGiEhn9za8On).
+
 [An older attempt using Perl](https://miek.nl/2010/december/04/a-dns-filesystem/).
 
 ## Bugs
diff --git a/dnsfs.go b/dnsfs.go
index 80bc0039efe4e82d67caa50b83749996bfb03777..cef6d1dd061d0fb5c5f15006eaaae75f15d14b85 100644
--- a/dnsfs.go
+++ b/dnsfs.go
@@ -35,6 +35,7 @@ func main() {
 	defer c.Close()
 
 	log.Printf("Mounted dnsfs on: %s", flag.Arg(0))
+	defer log.Printf("Unmounted dnsfs from: %s", flag.Arg(0))
 	dfs := dnsfs.New(resolv.New())
 	err = fs.Serve(c, dfs)
 	if err != nil {
@@ -45,4 +46,7 @@ func main() {
 	if err := c.MountError; err != nil {
 		log.Fatal(err)
 	}
+	if err := fuse.Unmount(flag.Arg(0)); err != nil {
+		log.Fatal(err)
+	}
 }