diff --git a/apps/action.c b/apps/action.c
index 15b2d8a..2ee6a36 100644
--- a/apps/action.c
+++ b/apps/action.c
@@ -183,6 +183,23 @@ static int get_action_worker(int context, int timeout,
     else
         button = button_get_w_tmo(timeout);
 
+#if defined(HAVE_GUI_BOOST_ON_WHEEL) && defined(HAVE_ADJUSTABLE_CPU_FREQ)
+    static bool boosted = false;
+    if (boosted && (button&BUTTON_REL) && context == CONTEXT_STD)
+    {
+        boosted  = false;
+        cpu_boost(false);
+    }
+    else if (!boosted)
+    {
+        if (button&(BUTTON_SCROLL_BACK|BUTTON_SCROLL_FWD))
+        {
+            boosted = true;
+            cpu_boost(true);
+        }
+    }
+#endif
+
     /* Data from sys events can be pulled with button_get_data
      * multimedia button presses don't go through the action system */
     if (button == BUTTON_NONE || button & (SYS_EVENT|BUTTON_MULTIMEDIA))
diff --git a/firmware/export/config/ipodvideo.h b/firmware/export/config/ipodvideo.h
index dd21bb5..cc1d268 100644
--- a/firmware/export/config/ipodvideo.h
+++ b/firmware/export/config/ipodvideo.h
@@ -64,6 +64,7 @@
 #define HAVE_TRANSFLECTIVE_LCD
 
 #define CONFIG_KEYPAD IPOD_4G_PAD
+#define HAVE_GUI_BOOST_ON_WHEEL
 
 /* Define this to enable morse code input */
 #define HAVE_MORSE_INPUT
