diff --git a/boards/calliope-mini/Makefile.include b/boards/calliope-mini/Makefile.include
index 6f969e2c20a8ac05f35f4b9daed40606efa07c7b..fa17c41591395f6937da9a0dad690fe6554465d2 100644
--- a/boards/calliope-mini/Makefile.include
+++ b/boards/calliope-mini/Makefile.include
@@ -10,7 +10,7 @@ PORT_DARWIN ?= $(firstword $(sort $(wildcard /dev/tty.usbmodem*)))
 PROGRAMMER ?= fscopy
 
 ifeq (fscopy,$(PROGRAMMER))
-  export FFLAGS =
+  export FFLAGS = $(HEXFILE)
   export DEBUGGER_FLAGS =
 
   export FLASHER = $(RIOTBOARD)/$(BOARD)/dist/flash.sh
diff --git a/boards/calliope-mini/dist/flash.sh b/boards/calliope-mini/dist/flash.sh
index 9b4630f966522880549ce8c0d85866e59f43d71c..fa8ce4f26cf1529696a7c651bdd66169011fe525 100755
--- a/boards/calliope-mini/dist/flash.sh
+++ b/boards/calliope-mini/dist/flash.sh
@@ -18,6 +18,8 @@ OS=`uname`
 DID_MOUNT=false
 NAME="MINI"
 
+HEXFILE=$1
+
 # set the mount path depending on the OS
 if [ ${OS} = "Linux" ]
 then
diff --git a/boards/mbed_lpc1768/Makefile.include b/boards/mbed_lpc1768/Makefile.include
index 3adfc67b2192cf118d65e5429a7dd5c0b6377ac9..e5511e48d720fba93b2308d5a1d4062f5e6afc91 100644
--- a/boards/mbed_lpc1768/Makefile.include
+++ b/boards/mbed_lpc1768/Makefile.include
@@ -6,7 +6,7 @@ export DEBUGGER =
 export DEBUGSERVER =
 
 HEXFILE = $(BINFILE)
-export FFLAGS =
+export FFLAGS = $(HEXFILE)
 export DEBUGGER_FLAGS =
 
 # define the default port depending on the host OS
diff --git a/boards/mbed_lpc1768/dist/flash.sh b/boards/mbed_lpc1768/dist/flash.sh
index 1eaeebec93d42aa1344076b7e9f0745df7283aa4..4ff2af9845a2baf3c4a6275a62951b996e19b9e7 100755
--- a/boards/mbed_lpc1768/dist/flash.sh
+++ b/boards/mbed_lpc1768/dist/flash.sh
@@ -21,6 +21,8 @@
 OS=`uname`
 DID_MOUNT=false
 
+BINFILE=$1
+
 # set the mount path depending on the OS
 if [ ${OS} = "Linux" ]
 then
@@ -55,7 +57,7 @@ fi
 # remove old binary
 rm -f ${MOUNT}/*.bin
 # copy new binary to device
-cp ${HEXFILE} ${MOUNT}
+cp ${BINFILE} ${MOUNT}
 # make sure hexfile was written
 sync
 
diff --git a/boards/microbit/Makefile.include b/boards/microbit/Makefile.include
index 8eb617dd3b7dcc83a8ecf8ab054345aaa275ada4..e5907b533681fa7522f9163dfcf149fa3d16fcaf 100644
--- a/boards/microbit/Makefile.include
+++ b/boards/microbit/Makefile.include
@@ -10,7 +10,7 @@ PORT_DARWIN ?= $(firstword $(sort $(wildcard /dev/tty.SLAB_USBtoUART*)))
 PROGRAMMER ?= fscopy
 
 ifeq (fscopy,$(PROGRAMMER))
-  export FFLAGS =
+  export FFLAGS = $(HEXFILE)
   export DEBUGGER_FLAGS =
 
   export FLASHER = $(RIOTBOARD)/$(BOARD)/dist/flash.sh
diff --git a/boards/microbit/dist/flash.sh b/boards/microbit/dist/flash.sh
index ceeeb0f00eb4053ac2da6a5b9a93f95c585b221e..657307e5fb0b7be88b44cf7b4649e81f82d3a38a 100755
--- a/boards/microbit/dist/flash.sh
+++ b/boards/microbit/dist/flash.sh
@@ -18,6 +18,8 @@ OS=`uname`
 DID_MOUNT=false
 NAME="MICROBIT"
 
+HEXFILE=$1
+
 # set the mount path depending on the OS
 if [ ${OS} = "Linux" ]
 then