diff --git a/LUFA/ChangeLog.txt b/LUFA/ChangeLog.txt
index 1833596f310eba20aa7299917a9d828687e0d087..d86805578267b01416ff3b25c4bbb6153645421a 100644
--- a/LUFA/ChangeLog.txt
+++ b/LUFA/ChangeLog.txt
@@ -13,6 +13,7 @@
   *  - Fixed RNDISEthernet not working under Linux due to Linux requiring an "optional" request which was unhandled
   *  - Fixed Mouse and Keyboard device demos not acting in accordance with the HID specification for idle periods (thanks to Brian Dickman)
   *  - Removed support for endpoint/pipe non-control interrupts; these did not act in the way users expected, and had many subtle issues
+  *  - Fixed Device Mode not handling Set Feature and Clear Feature Chapter 9 requests that are addressed to the device (thanks to Brian Dickman)
   *
   *
   *  \section Sec_ChangeLog090510 Version 090510
diff --git a/LUFA/Drivers/USB/LowLevel/DevChapter9.c b/LUFA/Drivers/USB/LowLevel/DevChapter9.c
index 6ecadb00d85667d00191fb2d78c16a36ac1dfaa0..785d10faca9f946e0b41c13eede294675c912196 100644
--- a/LUFA/Drivers/USB/LowLevel/DevChapter9.c
+++ b/LUFA/Drivers/USB/LowLevel/DevChapter9.c
@@ -62,7 +62,8 @@ void USB_Device_ProcessControlPacket(void)
 			break;
 		case REQ_ClearFeature:
 		case REQ_SetFeature:
-			if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_ENDPOINT))
+			if ((bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_DEVICE)) ||
+			    (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_ENDPOINT)))
 			{
 				USB_Device_ClearSetFeature();
 				RequestHandled = true;