diff --git a/LUFA/Drivers/USB/HighLevel/USBMode.h b/LUFA/Drivers/USB/HighLevel/USBMode.h
index 471f307e7fd2570ce5951c5d4e127ea73501baf8..8664c1b7ce7165e276c14ad69a8f9f65cc04c1be 100644
--- a/LUFA/Drivers/USB/HighLevel/USBMode.h
+++ b/LUFA/Drivers/USB/HighLevel/USBMode.h
@@ -41,7 +41,8 @@
 				#define USB_DEVICE_ONLY
 			#endif
 			
-			#if (defined(__AVR_AT90USB162__)  || defined(__AVR_AT90USB82__))
+			#if (defined(__AVR_AT90USB162__) || defined(__AVR_AT90USB82__) || \
+			     defined(__AVR_ATmega32U2__) || defined(__AVR_ATmega16U2__) || defined(__AVR_ATmega8U2__))
 				#define USB_SERIES_2_AVR
 			#elif (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__))
 				#define USB_SERIES_4_AVR
@@ -57,15 +58,19 @@
 				#define USB_CAN_BE_DEVICE
 			#elif defined(USB_HOST_ONLY)
 				#define USB_CAN_BE_HOST
+
 				#define USB_CurrentMode USB_MODE_HOST
 			#elif defined(USB_DEVICE_ONLY)
 				#define USB_CAN_BE_DEVICE
+
 				#define USB_CurrentMode USB_MODE_DEVICE
 			#endif
 			
-			#if (!(defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB647__)) && defined(USB_HOST_ONLY))
+			#if (!defined(USB_SERIES_7_AVR) && defined(USB_HOST_ONLY))
 				#error USB_HOST_ONLY is not available for the currently selected USB AVR model.
-			#elif (defined(USB_HOST_ONLY) && defined(USB_DEVICE_ONLY))
+			#endif
+			
+			#if (defined(USB_HOST_ONLY) && defined(USB_DEVICE_ONLY))
 				#error USB_HOST_ONLY and USB_DEVICE_ONLY are mutually exclusive.
 			#endif
 
diff --git a/LUFA/Drivers/USB/USB.h b/LUFA/Drivers/USB/USB.h
index d38000d6d2417b83cd5908ea8fce2edff808a439..9d2e84801771db609bef3d67a200b918850d5463 100644
--- a/LUFA/Drivers/USB/USB.h
+++ b/LUFA/Drivers/USB/USB.h
@@ -76,6 +76,8 @@
 		#if (!(defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB647__) ||  \
 		       defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB646__) ||  \
 			   defined(__AVR_AT90USB162__)  || defined(__AVR_AT90USB82__)  ||  \
+			   defined(__AVR_ATmega32U2__)  || defined(__AVR_ATmega16U2__) ||  \
+			   defined(__AVR_ATmega8U2__)   ||                                 \
 			   defined(__AVR_ATmega16U4__)  || defined(__AVR_ATmega32U4__) ||  \
 			   defined(__AVR_ATmega32U6__)))
 			#error The currently selected AVR model is not supported under the USB component of the LUFA library.
diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt
index 5282642e990324594493ca0c5b714a275f3994a6..cbe4c59ea22dc29f303a099e63cba13910b242a7 100644
--- a/LUFA/ManPages/ChangeLog.txt
+++ b/LUFA/ManPages/ChangeLog.txt
@@ -27,6 +27,7 @@
   *  - Added stdio stream demo code to the low-level CDC demo, to show how to create standard streams out of the virtual serial ports
   *  - Added new EEPROM and FLASH buffer versions of the Endpoint and Pipe stream functions
   *  - Added new USE_FLASH_DESCRIPTORS and TOTAL_NUM_CONFIGURATIONS compile time options
+  *  - Added support for the new ATMEGA32U2, ATMEGA16U2 and ATMEGA8U2 AVR models
   *  
   *  <b>Changed:</b>
   *  - Deprecated psuedo-scheduler and removed dynamic memory allocator from the library (first no longer needed and second unused)
diff --git a/LUFA/ManPages/DeviceSupport.txt b/LUFA/ManPages/DeviceSupport.txt
index 1d06d52ee193db8f89299dbfe615d7dfe0bb0672..140055da3044462f8bc4c14b102ccd28e1e1133a 100644
--- a/LUFA/ManPages/DeviceSupport.txt
+++ b/LUFA/ManPages/DeviceSupport.txt
@@ -8,15 +8,18 @@
  *  \page Page_DeviceSupport Device and Hardware Support
  *
  *  Currently supported AVR models:
- *   - AT90USB1286 (USB Device Only)
- *   - AT90USB1287 (USB Host and Device)
- *   - AT90USB646 (USB Device Only)
- *   - AT90USB647 (USB Host and Device)
  *   - AT90USB82 (USB Device Only)
+ *   - ATMEGA8U2 (USB Device Only)
  *   - AT90USB162 (USB Device Only)
+ *   - ATMEGA16U2 (USB Device Only)
  *   - ATMEGA16U4 (USB Device Only)
+ *   - ATMEGA32U2 (USB Device Only)
  *   - ATMEGA32U4 (USB Device Only)
  *   - ATMEGA32U6 (USB Device Only)
+ *   - AT90USB646 (USB Device Only)
+ *   - AT90USB647 (USB Host and Device)
+ *   - AT90USB1286 (USB Device Only)
+ *   - AT90USB1287 (USB Host and Device)
  *
  *  Currently supported Atmel boards:
  *   - AT90USBKEY