diff --git a/menu/drivers/stripes.c b/menu/drivers/stripes.c
index da90b28521..02394096e0 100755
--- a/menu/drivers/stripes.c
+++ b/menu/drivers/stripes.c
@@ -325,6 +325,42 @@ static float stripes_item_color[] = {
    1, 1, 1, 1
 };
 
+static float HueToRGB(float v1, float v2, float vH)
+{
+   if (vH < 0)
+      vH += 1;
+
+   if (vH > 1)
+      vH -= 1;
+
+   if ((6 * vH) < 1)
+      return (v1 + (v2 - v1) * 6 * vH);
+
+   if ((2 * vH) < 1)
+      return v2;
+
+   if ((3 * vH) < 2)
+      return (v1 + (v2 - v1) * ((2.0f / 3) - vH) * 6);
+
+   return v1;
+}
+
+static void HSLToRGB(float H, float S, float L, float *rgb) {
+   if (S == 0)
+      rgb[0] = rgb[1] = rgb[2] = L;
+   else
+   {
+      float v1, v2;
+
+      v2 = (L < 0.5) ? (L * (1 + S)) : ((L + S) - (L * S));
+      v1 = 2 * L - v2;
+
+      rgb[0] = HueToRGB(v1, v2, H + (1.0f / 3));
+      rgb[1] = HueToRGB(v1, v2, H);
+      rgb[2] = HueToRGB(v1, v2, H - (1.0f / 3));
+   }
+}
+
 static void stripes_calculate_visible_range(const stripes_handle_t *stripes,
       unsigned height, size_t list_size, unsigned current,
       unsigned *first, unsigned *last);
@@ -2858,13 +2894,6 @@ static void stripes_frame(void *data, video_frame_info_t *video_info)
    menu_display_rotate_z(&rotate_draw, video_info);
    menu_display_blend_begin(video_info);
 
-   float mycolor[16]=  {
-      0.50, 1.00, 1.00, 1.00,
-      0.00, 0.50, 1.00, 1.00,
-      0.50, 1.00, 1.00, 1.00,
-      0.00, 0.50, 1.00, 1.00,
-   };
-
    /* Horizontal stripes */
    for (i = 0; i <= stripes_list_get_size(stripes, MENU_LIST_HORIZONTAL)
       + stripes->system_tab_end; i++)
@@ -2874,6 +2903,15 @@ static void stripes_frame(void *data, video_frame_info_t *video_info)
       if (!node)
          continue;
 
+      float rgb[3];
+      HSLToRGB(0.05*(float)i,0.5,0.5, &rgb[0]) ;
+      float color[16] = {
+         rgb[0], rgb[1], rgb[2], 1,
+         rgb[0], rgb[1], rgb[2], 1,
+         rgb[0], rgb[1], rgb[2], 1,
+         rgb[0], rgb[1], rgb[2], 1,
+      };
+
       menu_display_draw_polygon(
             video_info,
             stripes->categories_x_pos + stack_width,
@@ -2884,9 +2922,8 @@ static void stripes_frame(void *data, video_frame_info_t *video_info)
             video_info->height,
             stripes->categories_x_pos + stack_width + stripes->categories_angle + node->width,
             video_info->height,
-
             video_info->width, video_info->height,
-            &mycolor[0]);
+            &color[0]);
 
       menu_display_blend_begin(video_info);