diff --git a/LUFA/Drivers/Board/Temperature.h b/LUFA/Drivers/Board/Temperature.h
index 1a94d1416dd4541b7ac55578c30c6586653db227..ace3112c84a088561e03ab96984f8013d97a5291 100644
--- a/LUFA/Drivers/Board/Temperature.h
+++ b/LUFA/Drivers/Board/Temperature.h
@@ -90,8 +90,8 @@
 				/** Initializes the temperature sensor driver, including setting up the appropriate ADC channel.
 				 *  This must be called before any other temperature sensor routines.
 				 *
-				 *  The ADC itself (not the ADC channel) must be configured separately before calling the temperature
-				 *  sensor functions.
+				 *  \note The ADC itself (not the ADC channel) must be configured separately before calling the
+				 *        temperature sensor functions.
 				 */
 				static inline void Temperature_Init(void);
 			#else
diff --git a/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h b/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h
index 3c51393f192a353c0ed65aa4fb816e236d247278..84a6f0cf06a73dd0890ae3039407756316a4b608 100644
--- a/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h
+++ b/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h
@@ -109,7 +109,7 @@
 			 *
 			 *  \see \ref USB_GetNextDescriptorComp function for more details
 			 */
-			typedef uint8_t (* const ConfigComparatorPtr_t)(void* const);
+			typedef uint8_t (* const ConfigComparatorPtr_t)(void*);
 
 		/* Function Prototypes: */
 			/** Searches for the next descriptor in the given configuration descriptor using a premade comparator
@@ -263,8 +263,8 @@
 			{
 				uint16_t CurrDescriptorSize = DESCRIPTOR_CAST(*CurrConfigLoc, USB_Descriptor_Header_t).Size;
 
-				*((uint8_t**)CurrConfigLoc) += CurrDescriptorSize;
-				*BytesRem                   -= CurrDescriptorSize;
+				*CurrConfigLoc += CurrDescriptorSize;
+				*BytesRem      -= CurrDescriptorSize;
 			}
 			
 	/* Disable C linkage for C++ Compilers: */
diff --git a/LUFA/Drivers/USB/LowLevel/Pipe.c b/LUFA/Drivers/USB/LowLevel/Pipe.c
index 3f5272a36e646d6538b8e396acd3e97544ac604d..ccab074133edb9cff64bb41052c6a55abd877984 100644
--- a/LUFA/Drivers/USB/LowLevel/Pipe.c
+++ b/LUFA/Drivers/USB/LowLevel/Pipe.c
@@ -78,7 +78,7 @@ bool Pipe_IsEndpointBound(const uint8_t EndpointAddress)
 	{
 		Pipe_SelectPipe(PNum);
 		
-		if (Pipe_IsConfigured() && (Pipe_BoundEndpointNumber() == EndpointAddress))
+		if (Pipe_IsConfigured() && (Pipe_BoundEndpointNumber() == (EndpointAddress & PIPE_EPNUM_MASK)))
 		  return true;
 	}
 	
diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt
index 6a9155ba2f84c08d61a76afbb3138bee98475bc2..5cb7862969fc3fa43120a3aaebc7f0579b5946cc 100644
--- a/LUFA/ManPages/ChangeLog.txt
+++ b/LUFA/ManPages/ChangeLog.txt
@@ -25,6 +25,8 @@
   *  - Added missing CDC_Host_CreateBlockingStream() function code to the CDC Host Class driver
   *  - Fixed incorrect values for REPORT_ITEM_TYPE_* enum values causing corrupt data in the HID Host Parser
   *  - Fixed misnamed SI_Host_USBTask() and SI_Host_ConfigurePipes() functions
+  *  - Fixed broken USB_GetNextDescriptor() function causing the descriptor to jump ahead double the expected amount
+  *  - Fixed Pipe_IsEndpointBound() not masking the given Endpoint Address against PIPE_EPNUM_MASK
   *
   *  \section Sec_ChangeLog091122 Version 091122
   *