diff --git a/src/Main.cxx b/src/Main.cxx
index b7f914cdb..7a2789b0c 100644
--- a/src/Main.cxx
+++ b/src/Main.cxx
@@ -46,6 +46,7 @@
 #include "fs/AllocatedPath.hxx"
 #include "fs/Config.hxx"
 #include "fs/StandardDirectory.hxx"
+#include "fs/CheckFile.hxx"
 #include "playlist/PlaylistRegistry.hxx"
 #include "zeroconf/ZeroconfGlue.hxx"
 #include "decoder/DecoderList.hxx"
@@ -145,8 +146,10 @@ glue_mapper_init(Error &error)
 	if (music_dir.IsNull())
 		music_dir = GetUserMusicDir();
 
-	if (!music_dir.IsNull())
+	if (!music_dir.IsNull()) {
 		music_dir.ChopSeparators();
+		CheckDirectoryReadable(music_dir);
+	}
 
 #ifdef ENABLE_DATABASE
 	if (!music_dir.IsNull()) {
diff --git a/src/Mapper.cxx b/src/Mapper.cxx
index be58b49c9..f97cc3f9c 100644
--- a/src/Mapper.cxx
+++ b/src/Mapper.cxx
@@ -54,8 +54,6 @@ mapper_set_music_dir(AllocatedPath &&path)
 	assert(!path.IsNull());
 
 	music_dir_fs = std::move(path);
-
-	CheckDirectoryReadable(music_dir_fs);
 }
 
 #endif