diff --git a/tests/extmod/vfs_basic.py b/tests/extmod/vfs_basic.py
index 83c83fd227768a6e885524150e71010aaccb6c2d..1821a277dcaf8b06d4ee8877014969607ed2c0d1 100644
--- a/tests/extmod/vfs_basic.py
+++ b/tests/extmod/vfs_basic.py
@@ -109,3 +109,23 @@ try:
     uos.umount('/test_mnt')
 except OSError:
     print('OSError')
+
+# root dir
+uos.mount(Filesystem(3), '/')
+print(uos.listdir())
+open('test')
+
+uos.mount(Filesystem(4), '/mnt')
+print(uos.listdir())
+print(uos.listdir('/mnt'))
+uos.chdir('/mnt')
+print(uos.listdir())
+
+# chdir to a subdir within root-mounted vfs, and then listdir
+uos.chdir('/subdir')
+print(uos.listdir())
+uos.chdir('/')
+
+uos.umount('/')
+print(uos.listdir('/'))
+uos.umount('/mnt')
diff --git a/tests/extmod/vfs_basic.py.exp b/tests/extmod/vfs_basic.py.exp
index 5104a16a693c8de4e5b1f90eb168191e390051a6..416d45961a9189d0c80e854fd2240578d630025a 100644
--- a/tests/extmod/vfs_basic.py.exp
+++ b/tests/extmod/vfs_basic.py.exp
@@ -32,3 +32,22 @@ OSError
 1 umount
 2 umount
 OSError
+3 mount False False
+3 listdir /
+['a3']
+3 open test r
+4 mount False False
+3 listdir /
+['mnt', 'a3']
+4 listdir /
+['a4']
+4 chdir /
+4 listdir 
+['a4']
+3 chdir /subdir
+3 listdir 
+['a3']
+3 chdir /
+3 umount
+['mnt']
+4 umount