diff --git a/apps/appevents.h b/apps/appevents.h
index 5cb0ee5..36e19b0 100644
--- a/apps/appevents.h
+++ b/apps/appevents.h
@@ -61,9 +61,6 @@
     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 96b3447..d1b2748 100644
--- a/apps/gui/list.c
+++ b/apps/gui/list.c
@@ -596,23 +596,6 @@
 }
 #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)
 {
@@ -627,8 +610,6 @@
     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)
@@ -791,9 +772,6 @@
 /* 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 965d785..80d8c83 100644
--- a/apps/gui/skin_engine/skin_render.c
+++ b/apps/gui/skin_engine/skin_render.c
@@ -29,7 +29,6 @@
 #include "config.h"
 #include "core_alloc.h"
 #include "kernel.h"
-#include "appevents.h"
 #ifdef HAVE_ALBUMART
 #include "albumart.h"
 #endif
@@ -860,13 +859,6 @@
     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();
