diff --git a/LUFA/Drivers/USB/LowLevel/Endpoint.c b/LUFA/Drivers/USB/LowLevel/Endpoint.c
index 15cb9d011a0b67a8b7b97a04c71359ad13939a43..22579af6d32d37d241ea8b926ab0977f368ff031 100644
--- a/LUFA/Drivers/USB/LowLevel/Endpoint.c
+++ b/LUFA/Drivers/USB/LowLevel/Endpoint.c
@@ -139,7 +139,7 @@ uint8_t Endpoint_Discard_Stream(uint16_t Length
 #if !defined(NO_STREAM_CALLBACKS)
                                 , StreamCallbackPtr_t Callback
 #endif
-								)
+                                )
 {
 	uint8_t  ErrorCode;
 	
diff --git a/LUFA/Drivers/USB/LowLevel/Pipe.c b/LUFA/Drivers/USB/LowLevel/Pipe.c
index 4bfcc21e2a4299fe47aeff5a43b3c21dda83240e..8e817a2792152fd3623b4b8863902370826f3772 100644
--- a/LUFA/Drivers/USB/LowLevel/Pipe.c
+++ b/LUFA/Drivers/USB/LowLevel/Pipe.c
@@ -79,13 +79,16 @@ bool Pipe_IsEndpointBound(const uint8_t EndpointAddress)
 	{
 		Pipe_SelectPipe(PNum);
 		
-		uint8_t PipeToken = Pipe_GetPipeToken();
+		if (!(Pipe_IsConfigured()))
+		  continue;
+		
+		uint8_t PipeToken        = Pipe_GetPipeToken();
 		bool    PipeTokenCorrect = true;
 
 		if (PipeToken != PIPE_TOKEN_SETUP)
 		  PipeTokenCorrect = (PipeToken == ((EndpointAddress & PIPE_EPDIR_MASK) ? PIPE_TOKEN_IN : PIPE_TOKEN_OUT));
 		
-		if (Pipe_IsConfigured() && PipeTokenCorrect && (Pipe_BoundEndpointNumber() == (EndpointAddress & PIPE_EPNUM_MASK)))
+		if (PipeTokenCorrect && (Pipe_BoundEndpointNumber() == (EndpointAddress & PIPE_EPNUM_MASK)))
 		  return true;
 	}
 	
@@ -131,9 +134,9 @@ uint8_t Pipe_WaitUntilReady(void)
 
 uint8_t Pipe_Discard_Stream(uint16_t Length
 #if !defined(NO_STREAM_CALLBACKS)
-                                 , StreamCallbackPtr_t Callback
+                            , StreamCallbackPtr_t Callback
 #endif
-								 )
+                            )
 {
 	uint8_t  ErrorCode;