diff --git a/LUFA/Drivers/USB/Class/Host/StillImage.c b/LUFA/Drivers/USB/Class/Host/StillImage.c
index 1fbe000bae8788ba5ddd1473464862f8b8df6bc0..c1a6cacbd92b544f7a3217d470a87cfa4e21ed94 100644
--- a/LUFA/Drivers/USB/Class/Host/StillImage.c
+++ b/LUFA/Drivers/USB/Class/Host/StillImage.c
@@ -51,7 +51,7 @@ uint8_t SI_Host_ConfigurePipes(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo,
 	if (DESCRIPTOR_TYPE(ConfigDescriptorData) != DTYPE_Configuration)
 	  return SI_ENUMERROR_InvalidConfigDescriptor;
 
-	while (!(DataINEndpoint) || !(DataOUTEndpoint))
+	while (!(DataINEndpoint) || !(DataOUTEndpoint) || !(EventsEndpoint))
 	{
 		if (!(StillImageInterface) ||
 		    USB_GetNextDescriptorComp(&ConfigDescriptorSize, &ConfigDescriptorData,
diff --git a/LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.c b/LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.c
index 2073c8ef28d496eddb5fb178db6e871e44b579cf..48445293e80df518bae101932ec825a001d677f1 100644
--- a/LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.c
+++ b/LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.c
@@ -87,6 +87,8 @@ bool Pipe_ConfigurePipe(const uint8_t Number,
 			UPIENXTemp  = UPIENX;
 		}
 
+		Pipe_SetInfiniteINRequests();
+	
 		if (!(UPCFG1XTemp & (1 << ALLOC)))
 		  continue;