diff --git a/examples/device/webusb/src/main.c b/examples/device/webusb/src/main.c
index bf5598b18..e6bfe3802 100644
--- a/examples/device/webusb/src/main.c
+++ b/examples/device/webusb/src/main.c
@@ -42,8 +42,11 @@
  */
 enum  {
   BLINK_NOT_MOUNTED = 250,
-  BLINK_MOUNTED = 1000,
-  BLINK_SUSPENDED = 2500,
+  BLINK_MOUNTED     = 1000,
+  BLINK_SUSPENDED   = 2500,
+
+  BLINK_ALWAYS_ON   = UINT32_MAX,
+  BLINK_ALWAYS_OFF  = 0
 };
 
 static uint32_t blink_interval_ms = BLINK_NOT_MOUNTED;
@@ -153,9 +156,18 @@ bool tud_vendor_control_request_cb(uint8_t rhport, tusb_control_request_t const
     case 0x22:
       // Webserial simulate the CDC_REQUEST_SET_CONTROL_LINE_STATE (0x22) to
       // connect and disconnect.
-
       web_serial_connected = (request->wValue != 0);
 
+      // Always lit LED if connected
+      if ( web_serial_connected )
+      {
+        board_led_write(true);
+        blink_interval_ms = BLINK_ALWAYS_ON;
+      }else
+      {
+        blink_interval_ms = BLINK_MOUNTED;
+      }
+
       // response with status OK
       return tud_control_status(rhport, request);