diff --git a/LUFA/DoxygenPages/ChangeLog.txt b/LUFA/DoxygenPages/ChangeLog.txt
index df504763c7..fa7607d8fd 100644
--- a/LUFA/DoxygenPages/ChangeLog.txt
+++ b/LUFA/DoxygenPages/ChangeLog.txt
@@ -49,6 +49,7 @@
   *   - Fixed compile error if LEDs_Disable() is called and BOARD=NONE is set (thanks to Sam Lin)
   *   - Fixed inverted LED logic in the OLIMEX162 board LED driver
   *   - Fixed incorrect reponse to GET STATUS requests in device mode if NO_DEVICE_SELF_POWER or NO_DEVICE_REMOTE_WAKEUP tokens are defined (thanks to Georg Glock)
+  *   - Fixed inverted LED logic in the USB2AX board LED driver
   *  - Library Applications:
   *   - Fixed error in the AVRISP-MKII programmer when ISP mode is used at 64KHz (thanks to Ben R. Porter)
   *   - Fixed AVRISP-MKII programmer project failing to compile for the U4 chips when VTARGET_ADC_CHANNEL is defined to an invalid channel and NO_VTARGET_DETECT is
diff --git a/LUFA/Drivers/Board/AVR8/USB2AX/LEDs.h b/LUFA/Drivers/Board/AVR8/USB2AX/LEDs.h
index cec18c498d..e66698715e 100644
--- a/LUFA/Drivers/Board/AVR8/USB2AX/LEDs.h
+++ b/LUFA/Drivers/Board/AVR8/USB2AX/LEDs.h
@@ -54,13 +54,13 @@
  *  USB2AX:
  *  
  *    | Name | Color | Info | Active Level | Port Pin | 
- *    | LEDS_LED1 | Green | General Indicator | Low | PORTC.6 | 
+ *    | LEDS_LED1 | Green | General Indicator | High | PORTC.6 | 
  *  
  *
  *  USB2AX_V3:
  *  
  *    | Name | Color | Info | Active Level | Port Pin | 
- *    | LEDS_LED1 | Green | General Indicator | Low | PORTD.1 | 
+ *    | LEDS_LED1 | Green | General Indicator | High | PORTD.1 | 
  *  
  *
  *  @{
@@ -108,11 +108,11 @@
 			static inline void LEDs_Init(void)
 			{
 				#if (BOARD == BOARD_USB2AX)
-				DDRC  |= LEDS_ALL_LEDS;
-				PORTC |= LEDS_ALL_LEDS;				
+				DDRC  |=  LEDS_ALL_LEDS;
+				PORTC &= ~LEDS_ALL_LEDS;				
 				#else
-				DDRD  |= LEDS_ALL_LEDS;
-				PORTD |= LEDS_ALL_LEDS;				
+				DDRD  |=  LEDS_ALL_LEDS;
+				PORTD &= ~LEDS_ALL_LEDS;				
 				#endif				
 			}
 
@@ -130,27 +130,27 @@
 			static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
 			{
 				#if (BOARD == BOARD_USB2AX)
-				PORTC &= ~LEDMask;				
+				PORTC |= LEDMask;				
 				#else
-				PORTD &= ~LEDMask;
+				PORTD |= LEDMask;
 				#endif
 			}
 
 			static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
 			{
 				#if (BOARD == BOARD_USB2AX)
-				PORTC |= LEDMask;
+				PORTC &= ~LEDMask;
 				#else
-				PORTD |= LEDMask;
+				PORTD &= ~LEDMask;
 				#endif
 			}
 
 			static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
 			{
 				#if (BOARD == BOARD_USB2AX)
-				PORTC = ((PORTC | LEDS_ALL_LEDS) & ~LEDMask);				
+				PORTC = ((PORTC & ~LEDS_ALL_LEDS) | LEDMask);				
 				#else
-				PORTD = ((PORTD | LEDS_ALL_LEDS) & ~LEDMask);
+				PORTD = ((PORTD & ~LEDS_ALL_LEDS) | LEDMask);
 				#endif
 			}
 
@@ -158,9 +158,9 @@
 			                                   const uint8_t ActiveMask)
 			{
 				#if (BOARD == BOARD_USB2AX)
-				PORTC = ((PORTC | LEDMask) & ~ActiveMask);				
+				PORTC = ((PORTC & ~LEDMask) | ActiveMask);				
 				#else
-				PORTD = ((PORTD | LEDMask) & ~ActiveMask);
+				PORTD = ((PORTD & ~LEDMask) | ActiveMask);
 				#endif
 			}
 
@@ -177,9 +177,9 @@
 			static inline uint8_t LEDs_GetLEDs(void)
 			{
 				#if (BOARD == BOARD_USB2AX)
-				return (~PORTC & LEDS_ALL_LEDS);				
+				return (PORTC & LEDS_ALL_LEDS);				
 				#else
-				return (~PORTD & LEDS_ALL_LEDS);
+				return (PORTD & LEDS_ALL_LEDS);
 				#endif
 			}
 		#endif