diff --git a/boards.txt b/boards.txt
index 99412bb3774fdc796c5dfd7088beb8eaecd29ca5..ffa4e55bce1494ad93a48228d76793c9d7d28380 100644
--- a/boards.txt
+++ b/boards.txt
@@ -13,7 +13,7 @@ arduino_zero_dbg.build.f_cpu=48000000L
 arduino_zero_dbg.build.usb_product="Arduino Zero"
 arduino_zero_dbg.build.board=SAM_ZERO
 arduino_zero_dbg.build.core=arduino
-arduino_zero_dbg.build.extra_flags=-D__SAMD21G18A__ -mthumb {build.usb_flags}
+arduino_zero_dbg.build.extra_flags=-D__SAMD21G18A__ {build.usb_flags}
 arduino_zero_dbg.build.ldscript=linker_scripts/gcc/flash.ld
 arduino_zero_dbg.build.openocdscript=openocd_scripts/arduino_zero.cfg
 arduino_zero_dbg.build.variant=arduino_zero
@@ -26,7 +26,7 @@ arduino_zero_dbg.bootloader.file=zero/Debug/Exe/samd21_sam_ba.out
 arduino_zero.name=Arduino Zero (Native USB Port)
 arduino_zero.vid.0=0x2341
 arduino_zero.pid.0=0x004d
-arduino_zero.upload.tool=openocd
+arduino_zero.upload.tool=bossac
 arduino_zero.upload.protocol=sam-ba
 arduino_zero.upload.maximum_size=262144
 arduino_zero.upload.use_1200bps_touch=false
@@ -37,7 +37,7 @@ arduino_zero.build.f_cpu=48000000L
 arduino_zero.build.usb_product="Arduino Zero"
 arduino_zero.build.board=SAM_ZERO
 arduino_zero.build.core=arduino
-arduino_zero.build.extra_flags=-D__SAMD21G18A__ -mthumb {build.usb_flags}
+arduino_zero.build.extra_flags=-D__SAMD21G18A__ {build.usb_flags}
 arduino_zero.build.ldscript=linker_scripts/gcc/flash.ld
 arduino_zero.build.openocdscript=openocd_scripts/arduino_zero.cfg
 arduino_zero.build.variant=arduino_zero
@@ -48,7 +48,7 @@ arduino_zero.build.pid=0x004d
 arduino_zero_bl_dbg.name=Arduino Zero with Bootloader (Programming Port)
 arduino_zero_bl_dbg.vid.0=0x03eb
 arduino_zero_bl_dbg.pid.0=0x2111
-arduino_zero_bl_dbg.upload.tool=bossac
+arduino_zero_bl_dbg.upload.tool=openocd
 arduino_zero_bl_dbg.upload.protocol=sam-ba
 arduino_zero_bl_dbg.upload.maximum_size=262144
 arduino_zero_bl_dbg.upload.use_1200bps_touch=false
@@ -59,13 +59,15 @@ arduino_zero_bl_dbg.build.f_cpu=48000000L
 arduino_zero_bl_dbg.build.usb_product="Arduino Zero"
 arduino_zero_bl_dbg.build.board=SAM_ZERO
 arduino_zero_bl_dbg.build.core=arduino
-arduino_zero_bl_dbg.build.extra_flags=-D__SAMD21G18A__ -mthumb {build.usb_flags}
+arduino_zero_bl_dbg.build.extra_flags=-D__SAMD21G18A__ {build.usb_flags}
 arduino_zero_bl_dbg.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld
 arduino_zero_bl_dbg.build.openocdscript=openocd_scripts/arduino_zero.cfg
 arduino_zero_bl_dbg.build.variant=arduino_zero
 arduino_zero_bl_dbg.build.variant_system_lib=
 arduino_zero_bl_dbg.build.vid=0x03eb
 arduino_zero_bl_dbg.build.pid=0x2111
+arduino_zero_bl_dbg.bootloader.tool=openocd
+arduino_zero_bl_dbg.bootloader.file=zero/Debug/Exe/samd21_sam_ba.out
 
 arduino_zero_bl.name=Arduino Zero with Bootloader (Native USB Port)
 arduino_zero_bl.vid.0=0x2341
@@ -81,7 +83,7 @@ arduino_zero_bl.build.f_cpu=48000000L
 arduino_zero_bl.build.usb_product="Arduino Zero"
 arduino_zero_bl.build.board=SAM_ZERO
 arduino_zero_bl.build.core=arduino
-arduino_zero_bl.build.extra_flags=-D__SAMD21G18A__ -mthumb {build.usb_flags}
+arduino_zero_bl.build.extra_flags=-D__SAMD21G18A__ {build.usb_flags}
 arduino_zero_bl.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld
 arduino_zero_bl.build.openocdscript=openocd_scripts/arduino_zero.cfg
 arduino_zero_bl.build.variant=arduino_zero