diff --git a/keyboards/xd87/xd87.c b/keyboards/xd87/xd87.c
index da07c71d88..e14480b054 100644
--- a/keyboards/xd87/xd87.c
+++ b/keyboards/xd87/xd87.c
@@ -18,7 +18,7 @@
 void matrix_init_kb(void) {
   // put your keyboard start-up code here
   // runs once when the firmware starts up
-
+  led_init_ports();
   matrix_init_user();
 }
 
@@ -39,5 +39,15 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
 void led_set_kb(uint8_t usb_led) {
   // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
 
+  if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
+    writePinLow(E2);
+  } else {
+    writePinHigh(E2);
+  }
+
   led_set_user(usb_led);
 }
+
+void led_init_ports(void) {
+  setPinOutput(E2);
+}