Index: apps/gui/backdrop.c =================================================================== --- apps/gui/backdrop.c (revision 24254) +++ apps/gui/backdrop.c (working copy) @@ -202,3 +202,16 @@ #endif + +void backdrop_hide(enum screen_type screen) +{ + (void)screen; +#if defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1 + if (screen == SCREEN_REMOTE) + lcd_remote_set_backdrop(NULL); + else +#endif + lcd_set_backdrop(NULL); +} + + Index: apps/gui/backdrop.h =================================================================== --- apps/gui/backdrop.h (revision 24254) +++ apps/gui/backdrop.h (working copy) @@ -35,6 +35,7 @@ bool backdrop_load(enum backdrop_type bdrop, const char*); void backdrop_unload(enum backdrop_type bdrop); void backdrop_show(enum backdrop_type bdrop); +void backdrop_hide(enum screen_type screen); #else /* LCD_DEPTH <= 1 || __PCTOOL__ */ Index: apps/gui/viewport.c =================================================================== --- apps/gui/viewport.c (revision 24254) +++ apps/gui/viewport.c (working copy) @@ -89,6 +89,8 @@ add_event(PLAYBACK_EVENT_NEXTTRACKID3_AVAILABLE, false, do_sbs_update_callback); + screens[screen].backdrop_show(BACKDROP_MAIN); + /* remove the left overs from the previous screen. * could cause a tiny flicker. Redo your screen code if that happens */ if (!was_enabled[screen] || force) @@ -142,7 +144,11 @@ else { FOR_NB_SCREENS(i) + { + backdrop_hide(i); screens[i].stop_scroll(); + } + #if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP) remove_event(LCD_EVENT_ACTIVATION, do_sbs_update_callback); #endif