Index: apps/lang/english.lang
===================================================================
--- apps/lang/english.lang	(revision 12131)
+++ apps/lang/english.lang	(working copy)
@@ -3162,6 +3162,20 @@
     *: "Backlight Fade Out"
   </voice>
 </phrase>
+ <phrase>
+  id: LANG_BACKLIGHT_ON_WHEN_PLUGIN
+  desc: in display_settings_menu, backlight timeout when running plugins
+  user:
+  <source>
+    *: "Backlight (While in Plugin)"
+  </source>
+  <dest>
+    *: "Backlight (While in Plugin)"
+  </dest>
+  <voice>
+    *: "Backlight (While in Plugin)"
+  </voice>
+ </phrase>
 <phrase>
   id: LANG_BRIGHTNESS
   desc: in settings_menu
Index: apps/settings.h
===================================================================
--- apps/settings.h	(revision 12131)
+++ apps/settings.h	(working copy)
@@ -257,6 +257,7 @@
                                1=always,
                                then according to timeout_values[] */
     int backlight_timeout_plugged;
+    bool backlight_timeout_plugin; /* backlight on while in plugin */
 #ifdef HAVE_BACKLIGHT_PWM_FADING
     int backlight_fade_in;  /* backlight fade in timing: 0..3 */
     int backlight_fade_out; /* backlight fade in timing: 0..7 */
Index: apps/settings_menu.c
===================================================================
--- apps/settings_menu.c	(revision 12131)
+++ apps/settings_menu.c	(working copy)
@@ -226,6 +226,13 @@
 }
 #endif /* HAS_BUTTON_HOLD */
 
+static bool backlight_timer_plugin(void)
+{
+    bool rc = set_bool( str(LANG_BACKLIGHT_ON_WHEN_PLUGIN),
+                        &global_settings.backlight_timeout_plugin);
+    return rc;
+}
+
 #if defined(HAVE_BACKLIGHT_PWM_FADING) && !defined(SIMULATOR)
 static bool backlight_fade_in(void)
 {
@@ -1939,6 +1946,7 @@
 #ifdef HAS_BUTTON_HOLD
         { ID2P(LANG_BACKLIGHT_ON_BUTTON_HOLD), backlight_on_button_hold },
 #endif
+        { ID2P(LANG_BACKLIGHT_ON_WHEN_PLUGIN), backlight_timer_plugin },
         { ID2P(LANG_CAPTION_BACKLIGHT), caption_backlight },
 #if defined(HAVE_BACKLIGHT_PWM_FADING) && !defined(SIMULATOR)
         { ID2P(LANG_BACKLIGHT_FADE_IN), backlight_fade_in },
Index: apps/settings_list.c
===================================================================
--- apps/settings_list.c	(revision 12131)
+++ apps/settings_list.c	(working copy)
@@ -673,6 +673,7 @@
     {F_T_INT,GS(rec_trigger_type),LANG_RECORD_TRIGGER_TYPE,
         INT(0),"trigger type","stop,pause,nf stp",UNUSED},
 #endif
+    OFFON_SETTING(0,backlight_timeout_plugin, LANG_BACKLIGHT_ON_WHEN_PLUGIN,false,"backlight timeout plugin",NULL),
 
     /** settings not in the old config blocks **/
 #ifdef CONFIG_TUNER
Index: apps/plugin.c
===================================================================
--- apps/plugin.c	(revision 12131)
+++ apps/plugin.c	(working copy)
@@ -594,7 +594,9 @@
     /* zero out bss area only, above guards end of pluginbuf */
     memset(pluginbuf + readsize, 0, plugin_size - readsize);
 #endif
-
+    /* Set backlight to be on all the time */
+    if (global_settings.backlight_timeout_plugin)
+        backlight_set_timeout(1);
     plugin_loaded = true;
 
 #ifdef HAVE_LCD_BITMAP
@@ -673,6 +675,8 @@
             gui_syncsplash(HZ*2, true, str(LANG_PLUGIN_ERROR));
             break;
     }
+    /* Set backlight timeout back to user setting */
+    backlight_set_timeout(global_settings.backlight_timeout);
     return PLUGIN_OK;
 }
 
