diff --git a/ChangeLog b/ChangeLog
index bf5dbffc..6c6b983b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2018-01-16  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
+
+	Submitted by Tom Carney:
+	patch #8219: Fix boot_start for xmega devices on jtagmkII
+	* jtagmkII.c (jtagmkII_initialize): Determine boarder between
+	application and boot area correctly.
+
 2018-01-16  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
 
 	Submitted by Jan Egil Ruud <janegil.ruud@microchip.com>
diff --git a/NEWS b/NEWS
index d88f7830..bebbf6e6 100644
--- a/NEWS
+++ b/NEWS
@@ -57,6 +57,7 @@ Current:
     patch #9033: avrdoper backend uses libhidapi instead of libusb
     patch #8580: FT245r support to select device by serial number
     patch #8910: ATxmega32c4 and ATxmega16c4 have wrong signatures
+    patch #8219: Fix boot_start for xmega devices on jtagmkII
 
   * Internals:
     - New avrdude.conf keyword "family_id", used to verify SIB attributes
diff --git a/jtagmkII.c b/jtagmkII.c
index 78c412ce..2ccf87d9 100644
--- a/jtagmkII.c
+++ b/jtagmkII.c
@@ -1346,12 +1346,7 @@ static int jtagmkII_initialize(PROGRAMMER * pgm, AVRPART * p)
     jtagmkII_set_devdescr(pgm, p);
 
   PDATA(pgm)->boot_start = ULONG_MAX;
-  /*
-   * If this is an ATxmega device in JTAG mode, change the emulator
-   * mode from JTAG to JTAG_XMEGA.
-   */
-  if ((pgm->flag & PGM_FL_IS_JTAG) &&
-      (p->flags & AVRPART_HAS_PDI)) {
+  if ((p->flags & AVRPART_HAS_PDI)) {
     /*
      * Find out where the border between application and boot area
      * is.