diff --git a/LUFA/Drivers/USB/Class/Host/HIDParser.c b/LUFA/Drivers/USB/Class/Host/HIDParser.c
index 3c39e96856d92edbf9e7e871afdc869f98ed44e5..5b295edc4308fc78f7150f99e9438ce0ba5258d1 100644
--- a/LUFA/Drivers/USB/Class/Host/HIDParser.c
+++ b/LUFA/Drivers/USB/Class/Host/HIDParser.c
@@ -194,7 +194,7 @@ uint8_t USB_ProcessHIDReport(const uint8_t* ReportData, uint16_t ReportSize, HID
 
 					for (uint8_t i = 0; i < UsageListSize; i++)
 					  UsageList[i] = UsageList[i + 1];
-					  
+					
 					UsageListSize--;
 				}
 				else if (UsageMinMax.Minimum <= UsageMinMax.Maximum)
@@ -235,9 +235,9 @@ uint8_t USB_ProcessHIDReport(const uint8_t* ReportData, uint16_t ReportSize, HID
 					}
 					else if (UsageMinMax.Minimum <= UsageMinMax.Maximum)
 					{
-						CurrCollectionPath->Usage.Usage = UsageMinMax.Minimum++;
+						NewReportItem.Attributes.Usage.Usage = UsageMinMax.Minimum++;
 					}
-				
+					
 					uint8_t ItemTag = (HIDReportItem & TAG_MASK);
 
 					if (ItemTag == TAG_MAIN_INPUT)
diff --git a/LUFA/Drivers/USB/LowLevel/Host.c b/LUFA/Drivers/USB/LowLevel/Host.c
index b83c51404b6ec84af5bb5ec00fd2e74860ad524e..98185a48760bbc9e4f169108b5aeb60a69a3a51b 100644
--- a/LUFA/Drivers/USB/LowLevel/Host.c
+++ b/LUFA/Drivers/USB/LowLevel/Host.c
@@ -66,7 +66,7 @@ void USB_Host_ProcessNextHostState(void)
 			USB_HostState = HOST_STATE_Powered_WaitForDeviceSettle;
 			break;
 		case HOST_STATE_Powered_WaitForDeviceSettle:
-			if (!(WaitMSRemaining--))
+			if (WaitMSRemaining--)
 			{
 				_delay_ms(1);
 				break;