diff --git a/Projects/AVRISP-MKII/AVRISPDescriptors.c b/Projects/AVRISP-MKII/AVRISPDescriptors.c
index f3381e1210147e237ac708cebbe06f0b47d4b84c..ab30c0eafedfa471f1944b8e73e0df163a3fedc1 100644
--- a/Projects/AVRISP-MKII/AVRISPDescriptors.c
+++ b/Projects/AVRISP-MKII/AVRISPDescriptors.c
@@ -38,6 +38,7 @@
 #include "AVRISPDescriptors.h"
 
 #if defined(RESET_TOGGLES_LIBUSB_COMPAT) || defined(__DOXYGEN__)
+	/** Indicates if an external reset has ocurred and the compatibility mode needs to be altered */
 	static bool AVRISP_NeedCompatibilitySwitch ATTR_NO_INIT;
 
 	/** Current AVRISP data IN endpoint address. */
@@ -207,7 +208,8 @@ uint16_t AVRISP_GetDescriptor(const uint16_t wValue,
 			break;
 		case DTYPE_Configuration:
 			*DescriptorMemorySpace = MEMSPACE_RAM;
-			#if defined(RESET_TOGGLES_LIBUSB_COMPAT)			
+			#if defined(RESET_TOGGLES_LIBUSB_COMPAT)
+				/* Update the configuration descriptor with the current endpoint address */
 				AVRISP_ConfigurationDescriptor.AVRISP_DataInEndpoint.EndpointAddress = AVRISP_CurrDataINEndpointAddress;
 			#endif
 
@@ -307,5 +309,7 @@ void UpdateCurrentCompatibilityMode(void)
 			}
 			break;
 	}
+	
+	Delay_MS(500);
 }
 #endif
diff --git a/Projects/AVRISP-MKII/AVRISPDescriptors.h b/Projects/AVRISP-MKII/AVRISPDescriptors.h
index 2779e083900c1b35805b563136495c6a835e936d..a14515d5e4ee8593f96d0aee7bcdc444fbe58ab5 100644
--- a/Projects/AVRISP-MKII/AVRISPDescriptors.h
+++ b/Projects/AVRISP-MKII/AVRISPDescriptors.h
@@ -41,6 +41,8 @@
 
 		#include <LUFA/Drivers/USB/USB.h>
 		#include <LUFA/Drivers/Board/LEDs.h>
+		
+		#include "Config/AppConfig.h"
 
 	/* Preprocessor Checks: */
 		#if defined(LIBUSB_DRIVER_COMPAT) && defined(RESET_TOGGLES_LIBUSB_COMPAT)