diff --git a/LUFA/DoxygenPages/ChangeLog.txt b/LUFA/DoxygenPages/ChangeLog.txt
index 752fa4d07efe92777cd7f3b68437e729343762e5..d6d09bafc979afeaedc8863e63edf6c1b0e6db69 100644
--- a/LUFA/DoxygenPages/ChangeLog.txt
+++ b/LUFA/DoxygenPages/ChangeLog.txt
@@ -49,6 +49,7 @@
   *   - Fixed AVRISP-MKII Clone compile warning on AVR8 U4 targets even when NO_VTARGET_DETECT is enabled
   *   - Fixed AVRISP-MKII Clone failing to start application firmware once a TPI programming session is exited
   *   - Fixed DFU class bootloader not resetting the LED pins as high impedance inputs when a software jump to the user applications is requested
+  *   - Fixed AVRISP-MKII Clone timing out on long programming commands such as programming the EEPROM on an ATMEGA8 (thanks to Martin Kelling)
   *
   *  \section Sec_ChangeLog111009 Version 111009
   *  <b>New:</b>
diff --git a/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c b/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c
index 04bfcb5f83dbe9d0bd7d908f863089e1f821a45f..157dd0b362c95a375daf42206246c0e6ed3618e9 100644
--- a/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c
+++ b/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c
@@ -357,6 +357,9 @@ uint8_t ISPTarget_WaitForProgComplete(const uint8_t ProgrammingMode,
 			break;
 	}
 
+	/* Program complete - reset timeout */
+	wdt_reset();
+
 	return ProgrammingStatus;
 }
 
diff --git a/Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.c b/Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.c
index 0ba3c7674df3c0220712ad58360e37197fa05e54..c4f6317391f88a00c6930be4494ae2d731813c0c 100644
--- a/Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.c
+++ b/Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.c
@@ -155,6 +155,9 @@ uint8_t XPROGTarget_ReceiveByte(void)
 	/* Wait until a byte has been received before reading */
 	while (!(UCSR1A & (1 << RXC1)) && !(TimeoutExpired));
 
+	/* Byte of data received - reset the timeout */
+	wdt_reset();
+
 	return UDR1;
 }