diff --git a/src/dirlist.c b/src/dirlist.c
index 50b90f0ab10492d846ce4c0df4b77f1567fd31de..876550369ebc7df1a1b6b93d812d96e58c591e08 100644
--- a/src/dirlist.c
+++ b/src/dirlist.c
@@ -189,6 +189,10 @@ static void dirlist_fixup() {
 void dirlist_open(struct dir *d) {
   dirlist_par = d;
 
+  /* not necessary for any ncdu functionality,
+   * but enables screen/tmux to work out our cwd */
+  chdir(getpath(dirlist_par));
+
   /* set the head of the list */
   head_real = head = d == NULL ? NULL : d->sub;