diff --git a/apps/appevents.h b/apps/appevents.h
index 36e19b0..5cb0ee5 100644
--- a/apps/appevents.h
+++ b/apps/appevents.h
@@ -61,6 +61,9 @@
     GUI_EVENT_STATUSBAR_TOGGLE = (EVENT_CLASS_GUI|1),
     GUI_EVENT_ACTIONUPDATE,
     GUI_EVENT_THEME_CHANGED,
+    /* Called when the UI viewport is cleared in the skin engine to
+     * notify the current screen that it needs to do an update */
+    GUI_EVENT_NEED_UI_UPDATE,
 };
 
 /** Recording events **/
diff --git a/apps/gui/list.c b/apps/gui/list.c
index d1b2748..96b3447 100644
--- a/apps/gui/list.c
+++ b/apps/gui/list.c
@@ -596,6 +596,23 @@
 }
 #endif
 
+/*
+ * Magic to make sure the list gets updated correctly if the skin does
+ * something naughty like a full screen update when we are in a button
+ * loop.
+ *
+ * The GUI_EVENT_NEED_UI_UPDATE event is registered for in list_do_action_timeout()
+ * and unregistered in gui_synclict_do_button(). This is done because
+ * if something is using the list UI they *must* be calling those
+ * two functions in the correct order or the list wont work.
+ */
+static struct gui_synclist *current_lists;
+void _lists_uiviewport_update_callback(void *data)
+{
+    (void)data;
+    gui_synclist_draw(current_lists);
+}
+
 bool gui_synclist_do_button(struct gui_synclist * lists,
                             int *actionptr, enum list_wrap wrap)
 {
@@ -610,6 +627,8 @@
     static int next_item_modifier = 1;
     static int last_accel_tick = 0;
 
+    remove_event(GUI_EVENT_NEED_UI_UPDATE, _lists_uiviewport_update_callback);
+
     if (action != ACTION_TOUCHSCREEN)
     {
         if (global_settings.list_accel_start_delay)
@@ -772,6 +791,9 @@
 /* Returns the lowest of timeout or the delay until a postponed
    scheduled announcement is due (if any). */
 {
+    current_lists = lists;
+    add_event(GUI_EVENT_NEED_UI_UPDATE, false,
+            _lists_uiviewport_update_callback);
     if(lists->scheduled_talk_tick)
     {
         long delay = lists->scheduled_talk_tick -current_tick +1;
diff --git a/apps/gui/skin_engine/skin_render.c b/apps/gui/skin_engine/skin_render.c
index 80d8c83..965d785 100644
--- a/apps/gui/skin_engine/skin_render.c
+++ b/apps/gui/skin_engine/skin_render.c
@@ -29,6 +29,7 @@
 #include "config.h"
 #include "core_alloc.h"
 #include "kernel.h"
+#include "appevents.h"
 #ifdef HAVE_ALBUMART
 #include "albumart.h"
 #endif
@@ -859,6 +860,13 @@
     display->set_framebuffer(NULL);
     skin_backdrop_show(data->backdrop_id);
 #endif
+
+    if (((refresh_mode&SKIN_REFRESH_ALL) == SKIN_REFRESH_ALL))
+    {
+        /* If this is the UI viewport then let the UI know
+         * to redraw itself */
+        send_event(GUI_EVENT_NEED_UI_UPDATE, NULL);
+    }
     /* Restore the default viewport */
     display->set_viewport(NULL);
     display->update();
