Index: apps/tagcache.c =================================================================== --- apps/tagcache.c (revision 16593) +++ apps/tagcache.c (working copy) @@ -3794,10 +3794,10 @@ # ifdef HAVE_DIRCACHE while (dircache_is_initializing()) sleep(1); + + dircache_set_appflag(DIRCACHE_APPFLAG_TAGCACHE); # endif - dircache_set_appflag(DIRCACHE_APPFLAG_TAGCACHE); - logf("loading tagcache to ram..."); fd = open(TAGCACHE_FILE_MASTER, O_RDONLY); Index: apps/playback.c =================================================================== --- apps/playback.c (revision 16593) +++ apps/playback.c (working copy) @@ -570,7 +570,7 @@ if (!filename) filename = "No file!"; -#ifdef HAVE_TC_RAMCACHE +#if defined(HAVE_TC_RAMCACHE) && defined(HAVE_DIRCACHE) if (tagcache_fill_tags(&temp_id3, filename)) return &temp_id3; #endif Index: firmware/export/config.h =================================================================== --- firmware/export/config.h (revision 16593) +++ firmware/export/config.h (working copy) @@ -308,8 +308,10 @@ /* Enable the directory cache and tagcache in RAM if we have * plenty of RAM. Both features can be enabled independently. */ #if ((defined(MEMORYSIZE) && (MEMORYSIZE > 8)) || MEM > 8) && \ - !defined(BOOTLOADER) && !defined(SANSA_E200) && !defined(SANSA_C200) + !defined(BOOTLOADER) +#if !defined(SANSA_E200) && !defined(SANSA_C200) #define HAVE_DIRCACHE +#endif #ifdef HAVE_TAGCACHE #define HAVE_TC_RAMCACHE #endif