diff --git a/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMM.c b/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMM.c
index 6634863f090d864ba68e23159b3bfd43cfb0aab0..994a24b9ad862ca68dc4a667b1b46a3449f29f09 100644
--- a/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMM.c
+++ b/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMM.c
@@ -235,7 +235,6 @@ static void RFCOMM_ProcessSABM(const RFCOMM_Address_t* const FrameAddress, Bluet
 			CurrRFCOMMChannel->DLCI         = FrameAddress->DLCI;
 			CurrRFCOMMChannel->State        = RFCOMM_Channel_Open;
 			CurrRFCOMMChannel->Priority     = 7 + (CurrRFCOMMChannel->DLCI >> 3) + ((CurrRFCOMMChannel->DLCI >> 3) * 7);
-			CurrRFCOMMChannel->UseUIFrames  = false;
 			CurrRFCOMMChannel->MTU          = 0xFFFF;
 			CurrRFCOMMChannel->Signals      = 0;
 			CurrRFCOMMChannel->BreakSignals = 0;
diff --git a/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMM.h b/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMM.h
index 78e9b54e2bdc94a3ecc4f8ee10615332bd9f0dfa..d37c068d98e5ef872e5da7ee6a2e47d51ad18081 100644
--- a/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMM.h
+++ b/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMM.h
@@ -85,7 +85,6 @@
 			uint8_t  DLCI;
 			uint8_t  State;
 			uint8_t  Priority;
-			bool     UseUIFrames;
 			uint16_t MTU;
 			uint8_t  StatusFlags;
 			uint8_t  Signals;
diff --git a/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMMControl.c b/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMMControl.c
index 3a6bf67c50cf0ec899778d281684945f3b31ec24..1d1863348515e29830f672c76dd0d323e109ddd3 100644
--- a/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMMControl.c
+++ b/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMMControl.c
@@ -47,7 +47,7 @@ void RFCOMM_ProcessControlCommand(const uint8_t* Command, Bluetooth_Channel_t* c
 	switch (CommandHeader->Command)
 	{
 		case RFCOMM_Control_Test:
-			RFCOMM_ProcessTestCommand(CommandHeader, CommandData, Channel);
+			RFCOMM_ProcessTestCommand(CommandHeader, CommandDataLen, CommandData, Channel);
 			break;
 		case RFCOMM_Control_FlowControlEnable:
 			RFCOMM_ProcessFCECommand(CommandHeader, CommandData, Channel);
@@ -73,10 +73,29 @@ void RFCOMM_ProcessControlCommand(const uint8_t* Command, Bluetooth_Channel_t* c
 	}
 }
 
-static void RFCOMM_ProcessTestCommand(const RFCOMM_Command_t* const CommandHeader, const uint8_t* CommandData,
-			                          Bluetooth_Channel_t* const Channel)
+static void RFCOMM_ProcessTestCommand(const RFCOMM_Command_t* const CommandHeader, const uint8_t CommandDataLen,
+                                      const uint8_t* CommandData, Bluetooth_Channel_t* const Channel)
 {
+	const uint8_t* Params = (const uint8_t*)CommandData;
+
 	BT_RFCOMM_DEBUG(1, "<< TEST Command");
+	
+	struct
+	{
+		RFCOMM_Command_t CommandHeader;
+		uint8_t          Length;
+		uint8_t          TestData[CommandDataLen];
+	} TestResponse;
+
+	/* Fill out the Test response data */
+	TestResponse.CommandHeader = (RFCOMM_Command_t){.Command = RFCOMM_Control_Test, .EA = true};
+	TestResponse.Length        = (CommandDataLen << 1) | 0x01;
+	memcpy(TestResponse.TestData, Params, CommandDataLen);
+	
+	BT_RFCOMM_DEBUG(1, ">> TEST Response");
+
+	/* Send the PDN response to acknowledge the command */
+	RFCOMM_SendFrame(RFCOMM_CONTROL_DLCI, false, RFCOMM_Frame_UIH, sizeof(TestResponse), &TestResponse, Channel);
 }
 
 static void RFCOMM_ProcessFCECommand(const RFCOMM_Command_t* const CommandHeader, const uint8_t* CommandData,
@@ -190,7 +209,6 @@ static void RFCOMM_ProcessDPNCommand(const RFCOMM_Command_t* const CommandHeader
 	/* Save the new channel configuration */
 	RFCOMMChannel->State       = RFCOMM_Channel_Open;
 	RFCOMMChannel->Priority    = Params->Priority;
-	RFCOMMChannel->UseUIFrames = (Params->FrameType != 0);
 	RFCOMMChannel->MTU         = Params->MaximumFrameSize;
 	
 	struct
diff --git a/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMMControl.h b/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMMControl.h
index 8cefa51c70bea614a30d0b4a136bd9b1d257e1d2..b992c27cb8028b3f64f3ece350aecb7c03fea382 100644
--- a/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMMControl.h
+++ b/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMMControl.h
@@ -113,8 +113,8 @@
 		void RFCOMM_ProcessControlCommand(const uint8_t* Command, Bluetooth_Channel_t* const Channel);
 
 		#if defined(INCLUDE_FROM_RFCOMM_CONTROL_C)
-			static void RFCOMM_ProcessTestCommand(const RFCOMM_Command_t* const CommandHeader, const uint8_t* CommandData,
-			                                      Bluetooth_Channel_t* const Channel);
+			static void RFCOMM_ProcessTestCommand(const RFCOMM_Command_t* const CommandHeader, const uint8_t CommandDataLen, 
+			                                      const uint8_t* CommandData, Bluetooth_Channel_t* const Channel);
 			static void RFCOMM_ProcessFCECommand(const RFCOMM_Command_t* const CommandHeader, const uint8_t* CommandData,
 			                                     Bluetooth_Channel_t* const Channel);
 			static void RFCOMM_ProcessFCDCommand(const RFCOMM_Command_t* const CommandHeader, const uint8_t* CommandData,
diff --git a/Demos/Host/Incomplete/BluetoothHost/Lib/SDP.c b/Demos/Host/Incomplete/BluetoothHost/Lib/SDP.c
index d012251520dda55a9e3fee89c3f02e4ce5565d16..c5c490ed3b64ed9cf13dae3971a3b49ca388d8f1 100644
--- a/Demos/Host/Incomplete/BluetoothHost/Lib/SDP.c
+++ b/Demos/Host/Incomplete/BluetoothHost/Lib/SDP.c
@@ -487,8 +487,8 @@ static bool SDP_SearchServiceTable(uint8_t UUIDList[][UUID_SIZE_BYTES], const ui
  *
  *  \return True if all the UUIDs given in the UUID list appear in the given attribute table, false otherwise
  */
-static void SDP_CheckUUIDMatch(uint8_t UUIDList[][UUID_SIZE_BYTES], const uint8_t TotalUUIDs, uint16_t* UUIDMatchFlags,
-                               const void* CurrAttribute)
+static void SDP_CheckUUIDMatch(uint8_t UUIDList[][UUID_SIZE_BYTES], const uint8_t TotalUUIDs,
+                               uint16_t* const UUIDMatchFlags, const void* CurrAttribute)
 {
 	uint8_t CurrAttributeType = (pgm_read_byte(CurrAttribute) & ~0x07);
 
diff --git a/Demos/Host/Incomplete/BluetoothHost/Lib/SDP.h b/Demos/Host/Incomplete/BluetoothHost/Lib/SDP.h
index e7d02b0ab3a733309ad5a839a988821bb9f5fb65..5310b6f776f8bec73797e52fd05c67655ff2563e 100644
--- a/Demos/Host/Incomplete/BluetoothHost/Lib/SDP.h
+++ b/Demos/Host/Incomplete/BluetoothHost/Lib/SDP.h
@@ -218,8 +218,8 @@
 
 			static bool     SDP_SearchServiceTable(uint8_t UUIDList[][UUID_SIZE_BYTES], const uint8_t TotalUUIDs,
 			                                       const ServiceAttributeTable_t* CurrAttributeTable);
-			static void     SDP_CheckUUIDMatch(uint8_t UUIDList[][UUID_SIZE_BYTES], const uint8_t TotalUUIDs, uint16_t* UUIDMatchFlags,
-			                                   const void* CurrAttribute);
+			static void     SDP_CheckUUIDMatch(uint8_t UUIDList[][UUID_SIZE_BYTES], const uint8_t TotalUUIDs,
+			                                   uint16_t* const UUIDMatchFlags, const void* CurrAttribute);
 
 			static uint8_t  SDP_GetAttributeList(uint16_t AttributeList[][2], const void** const CurrentParameter);
 			static uint8_t  SDP_GetUUIDList(uint8_t UUIDList[][UUID_SIZE_BYTES], const void** const CurrentParameter);
diff --git a/LUFA/ManPages/LUFAPoweredProjects.txt b/LUFA/ManPages/LUFAPoweredProjects.txt
index bf445bcbec5d788074ba2a42074bc638e7f7f462..0cc1d8e231e1c6c9ae941cd286dd53e03f82ca8b 100644
--- a/LUFA/ManPages/LUFAPoweredProjects.txt
+++ b/LUFA/ManPages/LUFAPoweredProjects.txt
@@ -27,6 +27,7 @@
  *  - Teensy and Teensy++, two other AVR USB development boards: http://www.pjrc.com/teensy/index.html
  *  - U2DIL/U4DIL, a set of DIP layout USB AVR boards: http://www.reworld.eu/re/en/products/u2dil/
  *  - USB10 AKA "The Ferret", a AT90USB162 development board: http://www.soc-machines.com
+ *  - USBFOO 2, AT90USB162 based development board: http://shop.kernelconcepts.de/product_info.php?products_id=102
  * 
  *  \section Sec_LUFAProjects Projects Using LUFA (Hobbyist)
  *