Index: apps/plugins/test_grey.c
===================================================================
--- apps/plugins/test_grey.c	(revision 29095)
+++ apps/plugins/test_grey.c	(working copy)
@@ -184,7 +184,7 @@
     for (i = 0; i <= STEPS; i++)
         input_levels[i] = lcd_levels[i] = (255 * i + (STEPS/2)) / STEPS;
 
-    backlight_force_on(); /* backlight control in lib/helper.c */
+    backlight_ignore_timeout();
 
     grey_set_background(0); /* set background to black */
     grey_clear_display();
@@ -279,6 +279,6 @@
     }
 
     grey_release();
-    backlight_use_settings(); /* backlight control in lib/helper.c */
+    backlight_use_settings();
     return PLUGIN_OK;
 }
Index: apps/plugins/plasma.c
===================================================================
--- apps/plugins/plasma.c	(revision 29095)
+++ apps/plugins/plasma.c	(working copy)
@@ -139,7 +139,7 @@
     grey_release();
 #endif
     /* Turn on backlight timeout (revert to settings) */
-    backlight_use_settings(); /* backlight control in lib/helper.c */
+    backlight_use_settings();
 #if defined(HAVE_LCD_MODES) && (HAVE_LCD_MODES & LCD_MODE_PAL256)
     rb->lcd_set_mode(LCD_MODE_RGB565);
 #endif
@@ -317,7 +317,7 @@
     rb->lcd_set_backdrop(NULL);
 #endif
     /* Turn off backlight timeout */
-    backlight_force_on(); /* backlight control in lib/helper.c */
+    backlight_ignore_timeout();
 
 #if defined(HAVE_LCD_MODES) && (HAVE_LCD_MODES & LCD_MODE_PAL256)
     rb->lcd_set_mode(LCD_MODE_PAL256);
Index: apps/plugins/oscilloscope.c
===================================================================
--- apps/plugins/oscilloscope.c	(revision 29095)
+++ apps/plugins/oscilloscope.c	(working copy)
@@ -780,7 +780,7 @@
     rb->lcd_set_background(LCD_DEFAULT_BG);
 #endif
     /* Turn on backlight timeout (revert to settings) */
-    backlight_use_settings(); /* backlight control in lib/helper.c */
+    backlight_use_settings();
 }
 
 enum plugin_status plugin_start(const void* parameter)
@@ -808,7 +808,7 @@
 #endif
 
     /* Turn off backlight timeout */
-    backlight_force_on(); /* backlight control in lib/helper.c */
+    backlight_ignore_timeout();
 
     rb->lcd_getstringsize("A", NULL, &font_height);
 
Index: apps/plugins/video.c
===================================================================
--- apps/plugins/video.c	(revision 29095)
+++ apps/plugins/video.c	(working copy)
@@ -585,7 +585,7 @@
         rb->mp3_play_stop(); /* stop audio ISR */
 
     /* Turn on backlight timeout (revert to settings) */
-    backlight_use_settings(); /* backlight control in lib/helper.c */
+    backlight_use_settings();
 
     /* restore normal contrast */
     rb->lcd_set_contrast(rb->global_settings->contrast);
@@ -954,7 +954,7 @@
     {
         gPlay.bHasVideo = true;
         /* Turn off backlight timeout */
-        backlight_force_on(); /* backlight control in lib/helper.c */
+        backlight_ignore_timeout();
     }
 
     /* prepare audio playback, if contained */
Index: apps/plugins/starfield.c
===================================================================
--- apps/plugins/starfield.c	(revision 29095)
+++ apps/plugins/starfield.c	(working copy)
@@ -523,12 +523,12 @@
 
     (void)parameter;
     /* Turn off backlight timeout */
-    backlight_force_on(); /* backlight control in lib/helper.c */
+    backlight_ignore_timeout();
 
     ret = plugin_main();
 
     /* Turn on backlight timeout (revert to settings) */
-    backlight_use_settings(); /* backlight control in lib/helper.c*/
+    backlight_use_settings();
 
     return ret;
 }
Index: apps/plugins/fire.c
===================================================================
--- apps/plugins/fire.c	(revision 29095)
+++ apps/plugins/fire.c	(working copy)
@@ -278,7 +278,7 @@
     grey_release();
 #endif
     /* Turn on backlight timeout (revert to settings) */
-    backlight_use_settings(); /* backlight control in lib/helper.c */
+    backlight_use_settings();
 }
 
 
@@ -367,7 +367,7 @@
     rb->lcd_set_backdrop(NULL);
 #endif
     /* Turn off backlight timeout */
-    backlight_force_on(); /* backlight control in lib/helper.c */
+    backlight_ignore_timeout();
 
 #if defined(HAVE_LCD_MODES) && (HAVE_LCD_MODES & LCD_MODE_PAL256)
     rb->lcd_set_mode(LCD_MODE_PAL256);
Index: apps/plugins/rocklife.c
===================================================================
--- apps/plugins/rocklife.c	(revision 29095)
+++ apps/plugins/rocklife.c	(working copy)
@@ -473,7 +473,7 @@
     char *ptemp;
     (void)(parameter);
 
-    backlight_force_on(); /* backlight control in lib/helper.c */
+    backlight_ignore_timeout();
 #if LCD_DEPTH > 1
     rb->lcd_set_backdrop(NULL);
 #ifdef HAVE_LCD_COLOR
@@ -577,6 +577,6 @@
         rb->yield();
     }
 
-    backlight_use_settings(); /* backlight control in lib/helper.c */
+    backlight_use_settings();
     return usb? PLUGIN_USB_CONNECTED: PLUGIN_OK;
 }
Index: apps/plugins/greyscale.c
===================================================================
--- apps/plugins/greyscale.c	(revision 29095)
+++ apps/plugins/greyscale.c	(working copy)
@@ -131,7 +131,7 @@
 
     grey_release(); /* switch off overlay and deinitialize */
     /* Turn on backlight timeout (revert to settings) */
-    backlight_use_settings(); /* backlight control in lib/helper.c */
+    backlight_use_settings();
 }
 
 /* this is only a demo of what the framework can do */
@@ -216,7 +216,7 @@
     };
 
     /* Turn off backlight timeout */
-    backlight_force_on(); /* backlight control in lib/helper.c */
+    backlight_ignore_timeout();
 
     rb->lcd_setfont(FONT_SYSFIXED);   /* select default font */
 
Index: apps/plugins/lib/helper.c
===================================================================
--- apps/plugins/lib/helper.c	(revision 29095)
+++ apps/plugins/lib/helper.c	(working copy)
@@ -36,9 +36,18 @@
 };
 #endif
 
-/*  Force the backlight on */
+/* Force the backlight on */
 void backlight_force_on(void)
 {
+    rb->backlight_set_timeout(0);
+#if CONFIG_CHARGING
+    rb->backlight_set_timeout_plugged(0);
+#endif /* CONFIG_CHARGING */
+}
+
+/* Turn off backlight timeout */
+void backlight_ignore_timeout(void)
+{
     if (rb->global_settings->backlight_timeout > 0)
         rb->backlight_set_timeout(0);
 #if CONFIG_CHARGING
@@ -61,6 +70,15 @@
 /*  Force the backlight on */
 void remote_backlight_force_on(void)
 {
+    rb->remote_backlight_set_timeout(0);
+#if CONFIG_CHARGING
+    rb->remote_backlight_set_timeout_plugged(0);
+#endif /* CONFIG_CHARGING */
+}
+
+/* Turn off backlight timeout */
+void remote_backlight_ignore_timeout(void)
+{
     if (rb->global_settings->remote_backlight_timeout > 0)
         rb->remote_backlight_set_timeout(0);
 #if CONFIG_CHARGING
@@ -85,6 +103,12 @@
 /*  Force the buttonlight on */
 void buttonlight_force_on(void)
 {
+    rb->buttonlight_set_timeout(0);
+}
+
+/* Turn off backlight timeout */
+void buttonlight_ignore_timeout(void)
+{
     if (rb->global_settings->buttonlight_timeout > 0)
         rb->buttonlight_set_timeout(0);
 }
Index: apps/plugins/lib/helper.h
===================================================================
--- apps/plugins/lib/helper.h	(revision 29095)
+++ apps/plugins/lib/helper.h	(working copy)
@@ -27,14 +27,17 @@
  * Backlight on/off operations
  */
 void backlight_force_on(void);
+void backlight_ignore_timeout(void);
 void backlight_use_settings(void);
 #ifdef HAVE_REMOTE_LCD
 void remote_backlight_force_on(void);
+void remote_backlight_ignore_timeout(void);
 void remote_backlight_use_settings(void);
 #endif
 
 #ifdef HAVE_BUTTON_LIGHT
 void buttonlight_force_on(void);
+void buttonlight_ignore_timeout(void);
 void buttonlight_use_settings(void);
 #endif
 
Index: apps/plugins/test_disk.c
===================================================================
--- apps/plugins/test_disk.c	(revision 29095)
+++ apps/plugins/test_disk.c	(working copy)
@@ -441,7 +441,7 @@
     rb->srand(*rb->current_tick);
 
     /* Turn off backlight timeout */
-    backlight_force_on(); /* backlight control in lib/helper.c */
+    backlight_ignore_timeout();
 
     while(!quit)
     {
@@ -460,7 +460,7 @@
     }
 
     /* Turn on backlight timeout (revert to settings) */
-    backlight_use_settings(); /* backlight control in lib/helper.c */
+    backlight_use_settings();
     
     rb->rmdir(testbasedir);
 
Index: apps/plugins/spacerocks.c
===================================================================
--- apps/plugins/spacerocks.c	(revision 29095)
+++ apps/plugins/spacerocks.c	(working copy)
@@ -2009,7 +2009,7 @@
     /* universal font */
     rb->lcd_setfont(FONT_SYSFIXED);
     /* Turn off backlight timeout */
-    backlight_force_on(); /* backlight control in lib/helper.c */
+    backlight_ignore_timeout();
     highscore_load(SCORE_FILE, highscores, NUM_SCORES);
     rb->srand(*rb->current_tick);
 
@@ -2022,7 +2022,7 @@
     rb->lcd_setfont(FONT_UI);
     highscore_save(SCORE_FILE, highscores, NUM_SCORES);
     /* Turn on backlight timeout (revert to settings) */
-    backlight_use_settings(); /* backlight control in lib/helper.c */
+    backlight_use_settings();
 
     return ret;
 }
Index: apps/plugins/brickmania.c
===================================================================
--- apps/plugins/brickmania.c	(revision 29095)
+++ apps/plugins/brickmania.c	(working copy)
@@ -2427,7 +2427,7 @@
     rb->lcd_set_backdrop(NULL);
 #endif
     /* Turn off backlight timeout */
-    backlight_force_on(); /* backlight control in lib/helper.c */
+    backlight_ignore_timeout();
 
     /* now go ahead and have fun! */
     rb->srand( *rb->current_tick );
@@ -2458,7 +2458,7 @@
     /* Restore user's original backlight setting */
     rb->lcd_setfont(FONT_UI);
     /* Turn on backlight timeout (revert to settings) */
-    backlight_use_settings(); /* backlight control in lib/helper.c */
+    backlight_use_settings();
 
     return PLUGIN_OK;
 }
Index: apps/plugins/pitch_detector.c
===================================================================
--- apps/plugins/pitch_detector.c	(revision 29095)
+++ apps/plugins/pitch_detector.c	(working copy)
@@ -547,7 +547,7 @@
         }
     }
 
-    backlight_force_on();
+    backlight_ignore_timeout();
     return exit_tuner;
 }
 
@@ -995,7 +995,7 @@
     audio_tail = 1;
 #endif
 
-    backlight_force_on();
+    backlight_ignore_timeout();
 
     record_data();
 
Index: apps/plugins/mazezam.c
===================================================================
--- apps/plugins/mazezam.c	(revision 29095)
+++ apps/plugins/mazezam.c	(working copy)
@@ -256,7 +256,7 @@
 ******************************************************************************/
 static void restore_lcd_settings(void) {
     /* Turn on backlight timeout (revert to settings) */
-    backlight_use_settings(); /* backlight control in lib/helper.c */
+    backlight_use_settings();
 
     /* Restore the old settings */
 #if LCD_DEPTH > 1
@@ -271,7 +271,7 @@
 ******************************************************************************/
 static void plugin_lcd_settings(void) {
     /* Turn off backlight timeout */
-    backlight_force_on(); /* backlight control in lib/helper.c */
+    backlight_ignore_timeout();
 
     /* Set the new settings */
 #ifdef HAVE_LCD_COLOR
Index: apps/plugins/resistor.c
===================================================================
--- apps/plugins/resistor.c	(revision 29095)
+++ apps/plugins/resistor.c	(working copy)
@@ -574,7 +574,7 @@
     
 static void led_resistance_calc(void)
 {
-    backlight_force_on();
+    backlight_ignore_timeout();
     int voltage_menu_selection, button_press, j, k, l, foreward_current = 0;
     int fwd_current_selection = 0;
     bool quit = false;
@@ -779,7 +779,7 @@
         
 static void resistance_to_color(void) 
 {
-    backlight_force_on();
+    backlight_ignore_timeout();
     int menu_selection;
     int menu_selection_tol;
     int button_press;
@@ -916,7 +916,7 @@
     
 static void color_to_resistance(void) 
 {
-    backlight_force_on();
+    backlight_ignore_timeout();
     bool quit = false;
     int button_input = 0;
             
Index: apps/plugins/demystify.c
===================================================================
--- apps/plugins/demystify.c	(revision 29095)
+++ apps/plugins/demystify.c	(working copy)
@@ -436,9 +436,9 @@
 #if LCD_DEPTH > 1
     rb->lcd_set_backdrop(NULL);
 #endif
-    backlight_force_on(); /* backlight control in lib/helper.c */
+    backlight_ignore_timeout();
 #ifdef HAVE_REMOTE_LCD
-    remote_backlight_force_on(); /* remote backlight control in lib/helper.c */
+    remote_backlight_ignore_timeout();
 #endif
     ret = plugin_main();
 
Index: apps/plugins/fft/fft.c
===================================================================
--- apps/plugins/fft/fft.c	(revision 29095)
+++ apps/plugins/fft/fft.c	(working copy)
@@ -1352,7 +1352,7 @@
     mylcd_clear_display();
     mylcd_update();
 #endif
-    backlight_force_on();
+    backlight_ignore_timeout();
 
 #ifdef HAVE_ADJUSTABLE_CPU_FREQ
     rb->cpu_boost(true);
Index: apps/plugins/xobox.c
===================================================================
--- apps/plugins/xobox.c	(revision 29095)
+++ apps/plugins/xobox.c	(working copy)
@@ -1110,13 +1110,13 @@
 #endif
 
     /* Turn off backlight timeout */
-    backlight_force_on(); /* backlight control in lib/helper.c */
+    backlight_ignore_timeout();
 
     randomize ();
     ret = xobox_loop ();
 
     /* Turn on backlight timeout (revert to settings) */
-    backlight_use_settings(); /* backlight control in lib/helper.c */
+    backlight_use_settings();
     rb->lcd_setfont (FONT_UI);
 
     return ret;
Index: apps/plugins/pong.c
===================================================================
--- apps/plugins/pong.c	(revision 29095)
+++ apps/plugins/pong.c	(working copy)
@@ -659,7 +659,7 @@
     (void)parameter;
 
     /* Turn off backlight timeout */
-    backlight_force_on();
+    backlight_ignore_timeout();
     /* Clear screen */
     rb->lcd_clear_display();
 
Index: apps/plugins/maze.c
===================================================================
--- apps/plugins/maze.c	(revision 29095)
+++ apps/plugins/maze.c	(working copy)
@@ -497,7 +497,7 @@
     (void)parameter;
 
     /* Turn off backlight timeout */
-    backlight_force_on(); /* backlight control in lib/helper.c */
+    backlight_ignore_timeout();
 
     /* Seed the RNG */
     rb->srand(*rb->current_tick);
@@ -585,6 +585,6 @@
             lastbutton = button;
     }
     /* Turn on backlight timeout (revert to settings) */
-    backlight_use_settings(); /* backlight control in lib/helper.c */
+    backlight_use_settings();
     return ((quit == 1) ? PLUGIN_OK : PLUGIN_USB_CONNECTED);
 }
Index: apps/plugins/fireworks.c
===================================================================
--- apps/plugins/fireworks.c	(revision 29095)
+++ apps/plugins/fireworks.c	(working copy)
@@ -460,7 +460,7 @@
 
     /* set everything up.. no BL timeout, no backdrop,
        white-text-on-black-background. */
-    backlight_force_on(); /* backlight control in lib/helper.c */
+    backlight_ignore_timeout();
 #if LCD_DEPTH > 1
     rb->lcd_set_backdrop(NULL);
     rb->lcd_set_background(LCD_BLACK);
@@ -619,7 +619,7 @@
         }
     }
     /* Turn on backlight timeout (revert to settings) */
-    backlight_use_settings(); /* backlight control in lib/helper.c */
+    backlight_use_settings();
 
 #ifdef HAVE_ADJUSTABLE_CPU_FREQ
     rb->cpu_boost(false);
Index: apps/plugins/rockblox.c
===================================================================
--- apps/plugins/rockblox.c	(revision 29095)
+++ apps/plugins/rockblox.c	(working copy)
@@ -1345,13 +1345,13 @@
 #ifdef HAS_BUTTON_HOLD
         if (rb->button_hold ()) {
             /* Turn on backlight timeout (revert to settings) */
-            backlight_use_settings(); /* backlight control in lib/helper.c */
+            backlight_use_settings();
             rb->splash(0, "Paused");
             while (rb->button_hold ())
                 rb->sleep(HZ/10);
 
             /* Turn off backlight timeout */
-            backlight_force_on(); /* backlight control in lib/helper.c */
+            backlight_ignore_timeout();
 
             /* get rid of the splash text */
             rb->lcd_bitmap (rockblox_background, 0, 0, LCD_WIDTH, LCD_HEIGHT);
@@ -1527,7 +1527,7 @@
     }
 #endif
     /* Turn off backlight timeout */
-    backlight_force_on(); /* backlight control in lib/helper.c */
+    backlight_ignore_timeout();
     load_game();
     resume_file = resume;
     while(!rockblox_loop()) {
@@ -1548,7 +1548,7 @@
 #endif
     /* Save user's HighScore */
     highscore_save(SCORE_FILE, highscores, NUM_SCORES);
-    backlight_use_settings(); /* backlight control in lib/helper.c */
+    backlight_use_settings();
 
     return PLUGIN_OK;
 }
Index: apps/plugins/mpegplayer/mpegplayer.c
===================================================================
--- apps/plugins/mpegplayer/mpegplayer.c	(revision 29095)
+++ apps/plugins/mpegplayer/mpegplayer.c	(working copy)
@@ -822,8 +822,7 @@
 {
     if (video_on) {
         /* Turn off backlight timeout */
-        /* backlight control in lib/helper.c */
-        backlight_force_on();
+        backlight_ignore_timeout();
 #if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
         rb->remove_event(LCD_EVENT_ACTIVATION, osd_lcd_enable_hook);
 #endif
Index: apps/plugins/doom/rockdoom.c
===================================================================
--- apps/plugins/doom/rockdoom.c	(revision 29095)
+++ apps/plugins/doom/rockdoom.c	(working copy)
@@ -723,7 +723,7 @@
    systemvol= rb->global_settings->volume-rb->global_settings->volume%mod;
    general_translucency = default_translucency;                    // phares
 
-   backlight_force_on();
+   backlight_ignore_timeout();
 #ifdef RB_PROFILE
    rb->profile_thread();
 #endif
Index: apps/plugins/imageviewer/imageviewer.c
===================================================================
--- apps/plugins/imageviewer/imageviewer.c	(revision 29095)
+++ apps/plugins/imageviewer/imageviewer.c	(working copy)
@@ -402,10 +402,10 @@
                 }
                 break;
             case BUTTON_NONE:
-                if(entries>1)
+                if (iv_api.slideshow_enabled && entries > 1)
                 {
                     rb->lcd_clear_display();
-                    return change_filename(direction);
+                    return change_filename(DIR_NEXT);
                 }
                 break;
 
@@ -959,7 +959,7 @@
     rb->memcpy(&old_settings, &settings, sizeof (settings));
 
     /* Turn off backlight timeout */
-    backlight_force_on(); /* backlight control in lib/helper.c */
+    backlight_ignore_timeout();
 
 #if LCD_DEPTH > 1
     rb->lcd_set_backdrop(NULL);
@@ -987,7 +987,7 @@
 #endif
 
     /* Turn on backlight timeout (revert to settings) */
-    backlight_use_settings(); /* backlight control in lib/helper.c */
+    backlight_use_settings();
 
 #ifdef USEGSLIB
     grey_release(); /* deinitialize */
Index: apps/plugins/rockboy/menu.c
===================================================================
--- apps/plugins/rockboy/menu.c	(revision 29095)
+++ apps/plugins/rockboy/menu.c	(working copy)
@@ -139,7 +139,7 @@
 #endif
 
     /* ignore backlight time out */
-    backlight_force_on();
+    backlight_ignore_timeout();
 
     return ret;
 }
Index: apps/plugins/rockboy/rockboy.c
===================================================================
--- apps/plugins/rockboy/rockboy.c	(revision 29095)
+++ apps/plugins/rockboy/rockboy.c	(working copy)
@@ -450,7 +450,7 @@
 #endif
 
     /* ignore backlight time out */
-    backlight_force_on();
+    backlight_ignore_timeout();
 
     gnuboy_main(parameter);
 
Index: apps/plugins/lrcplayer.c
===================================================================
--- apps/plugins/lrcplayer.c	(revision 29095)
+++ apps/plugins/lrcplayer.c	(working copy)
@@ -2320,7 +2320,7 @@
 #ifdef HAVE_LCD_COLOR
                         "Inactive Colour",
 #endif
-                        "Backlight Force On");
+                        "Backlight Always On");
 
     while (!exit && !usb)
     {
@@ -2344,7 +2344,7 @@
                 break;
 #endif
             case LRC_MENU_BACKLIGHT:
-                usb = rb->set_bool("Backlight Force On", &prefs.backlight_on);
+                usb = rb->set_bool("Backlight Always On", &prefs.backlight_on);
                 break;
             case MENU_ATTACHED_USB:
                 usb = true;
@@ -2797,7 +2797,7 @@
     }
 
     if (prefs.backlight_on)
-        backlight_force_on();
+        backlight_ignore_timeout();
 
 #ifdef HAVE_LCD_BITMAP
     /* in case settings that may affect break position 
Index: apps/plugins/chopper.c
===================================================================
--- apps/plugins/chopper.c	(revision 29095)
+++ apps/plugins/chopper.c	(working copy)
@@ -1050,7 +1050,7 @@
 #endif
 
     /* Turn off backlight timeout */
-    backlight_force_on(); /* backlight control in lib/helper.c */
+    backlight_ignore_timeout();
 
     rb->srand( *rb->current_tick );
 
@@ -1063,7 +1063,7 @@
 
     rb->lcd_setfont(FONT_UI);
     /* Turn on backlight timeout (revert to settings) */
-    backlight_use_settings(); /* backlight control in lib/helper.c */
+    backlight_use_settings();
 
     return ret;
 }
Index: apps/plugins/pictureflow/pictureflow.c
===================================================================
--- apps/plugins/pictureflow/pictureflow.c	(revision 29095)
+++ apps/plugins/pictureflow/pictureflow.c	(working copy)
@@ -2203,7 +2203,7 @@
 #endif
     end_pf_thread();
     /* Turn on backlight timeout (revert to settings) */
-    backlight_use_settings(); /* backlight control in lib/helper.c */
+    backlight_use_settings();
 
 #ifdef USEGSLIB
     grey_release();
@@ -2666,7 +2666,7 @@
         draw_splashscreen();
     if(backlight_mode == 0) {
         /* Turn off backlight timeout */
-        backlight_force_on();     /* backlight control in lib/helper.c */
+        backlight_ignore_timeout();
     }
 
     init_scroll_lines();
Index: apps/plugins/test_gfx.c
===================================================================
--- apps/plugins/test_gfx.c	(revision 29095)
+++ apps/plugins/test_gfx.c	(working copy)
@@ -441,7 +441,7 @@
     rb->lcd_set_backdrop(NULL);
     rb->lcd_clear_display();
 #endif
-    backlight_force_on(); /* backlight control in lib/helper.c */
+    backlight_ignore_timeout();
 
     rb->splashf(0, "LCD driver performance test, please wait %d sec",
                 6*4*DURATION/HZ);
Index: apps/plugins/test_fps.c
===================================================================
--- apps/plugins/test_fps.c	(revision 29095)
+++ apps/plugins/test_fps.c	(working copy)
@@ -367,7 +367,7 @@
 #if (CONFIG_PLATFORM & PLATFORM_NATIVE)
     cpu_freq = *rb->cpu_frequency; /* remember CPU frequency */
 #endif
-    backlight_force_on(); /* backlight control in lib/helper.c */
+    backlight_ignore_timeout();
 
     time_main_update();
     rb->sleep(HZ);
@@ -389,7 +389,7 @@
                      (cpu_freq + 500000) / 1000000);
     log_text(str);
 #endif
-    backlight_use_settings(); /* backlight control in lib/helper.c */
+    backlight_use_settings();
 
     /* wait until user closes plugin */
     while (rb->button_get(true) != FPS_QUIT);
Index: apps/plugins/wormlet.c
===================================================================
--- apps/plugins/wormlet.c	(revision 29095)
+++ apps/plugins/wormlet.c	(working copy)
@@ -2313,7 +2313,7 @@
     rb->lcd_clear_display();
 
     /* Turn off backlight timeout */
-    backlight_force_on(); /* backlight control in lib/helper.c */
+    backlight_ignore_timeout();
 
     /* start the game */
     while (game_result == 1)
@@ -2323,7 +2323,7 @@
     {
         case 2:
             /* Turn on backlight timeout (revert to settings) */
-            backlight_use_settings(); /* backlight control in lib/helper.c */
+            backlight_use_settings();
             return false;
             break;
     }
Index: apps/plugins/invadrox.c
===================================================================
--- apps/plugins/invadrox.c	(revision 29095)
+++ apps/plugins/invadrox.c	(working copy)
@@ -1818,7 +1818,7 @@
 {
     rb->lcd_setfont(FONT_SYSFIXED);
     /* Turn off backlight timeout */
-    backlight_force_on(); /* backlight control in lib/helper.c */
+    backlight_ignore_timeout();
 
     /* now go ahead and have fun! */
     game_loop();
@@ -1835,7 +1835,7 @@
     /* Restore user's original backlight setting */
     rb->lcd_setfont(FONT_UI);
     /* Turn on backlight timeout (revert to settings) */
-    backlight_use_settings(); /* backlight control in lib/helper.c */
+    backlight_use_settings();
 
     return PLUGIN_OK;
 }
Index: apps/plugins/pdbox/pdbox.c
===================================================================
--- apps/plugins/pdbox/pdbox.c	(revision 29095)
+++ apps/plugins/pdbox/pdbox.c	(working copy)
@@ -245,7 +245,7 @@
         return PLUGIN_ERROR;
     
     /* Make backlight remain on -- making music requires attention. */
-    backlight_force_on();
+    backlight_ignore_timeout();
 
     /* Main loop. */
     while(!quit)
Index: apps/plugins/credits.c
===================================================================
--- apps/plugins/credits.c	(revision 29095)
+++ apps/plugins/credits.c	(working copy)
@@ -372,7 +372,7 @@
     (void)parameter;
 
     /* Turn off backlight timeout */
-    backlight_force_on(); /* backlight control in lib/helper.c */
+    backlight_ignore_timeout();
 
     rb->show_logo();
 #ifdef HAVE_LCD_CHARCELLS
@@ -384,7 +384,7 @@
         roll_credits();
       
     /* Turn on backlight timeout (revert to settings) */
-    backlight_use_settings(); /* backlight control in lib/helper.c */
+    backlight_use_settings();
 
     return PLUGIN_OK;
 }
