diff --git a/firstboot/first-boot-set-hostname.sh b/firstboot/first-boot-set-hostname.sh
index c238962..51d2f04 100644
--- a/firstboot/first-boot-set-hostname.sh
+++ b/firstboot/first-boot-set-hostname.sh
@@ -1,6 +1,6 @@
 #!/bin/bash -eu
 
-show_error() {
+function show_error() {
     if [ -n "${JOURNAL_STREAM-}" ]; then
         echo "$@" | systemd-cat -t first-boot-set-hostname -p emerg
     else
@@ -8,7 +8,7 @@
     fi
 }
 
-sync_hostname() {
+function sync_hostname() {
     MAPPER_IFACE='xyz.openbmc_project.ObjectMapper'
     MAPPER_PATH='/xyz/openbmc_project/object_mapper'
     INVENTORY_PATH='/xyz/openbmc_project/inventory'
diff --git a/firstboot/first-boot-set-mac.sh b/firstboot/first-boot-set-mac.sh
index 1a1ae22..66e41b2 100644
--- a/firstboot/first-boot-set-mac.sh
+++ b/firstboot/first-boot-set-mac.sh
@@ -1,6 +1,6 @@
 #!/bin/bash -eu
 
-show_error() {
+function show_error() {
     if [ -n "${JOURNAL_STREAM-}" ]; then
         echo "$@" | systemd-cat -t first-boot-set-mac -p emerg
     else
@@ -8,7 +8,7 @@
     fi
 }
 
-sync_mac() {
+function sync_mac() {
 
     MAPPER_IFACE='xyz.openbmc_project.ObjectMapper'
     MAPPER_PATH='/xyz/openbmc_project/object_mapper'
diff --git a/usb-ctrl/usb-ctrl b/usb-ctrl/usb-ctrl
index 3a1f2f9..4d228fd 100644
--- a/usb-ctrl/usb-ctrl
+++ b/usb-ctrl/usb-ctrl
@@ -1,7 +1,7 @@
 #!/bin/bash
 set -e
 
-setup_image()
+function setup_image()
 {
     set -x
     local storage="$1"
@@ -13,7 +13,7 @@
     mkdosfs -n 'OPENBMC-FW' -i $diskid -I "$storage" >/dev/null 2>&1
 }
 
-mount_image()
+function mount_image()
 {
     set -x
     local storage="$1"
@@ -22,7 +22,7 @@
     mount -o loop -t vfat "$storage" "$stormnt"
 }
 
-cleanup_image()
+function cleanup_image()
 {
     set -x
     local storage="$1"
@@ -32,7 +32,7 @@
     rmdir "$stormnt"
 }
 
-network()
+function network()
 {
     set -x
     local type="$1"
@@ -52,7 +52,7 @@
 
 GADGET_BASE=/sys/kernel/config/usb_gadget
 
-which_dev()
+function which_dev()
 {
     local in_use
     in_use="$(cat $GADGET_BASE/*/UDC)"
@@ -66,12 +66,12 @@
     return 1
 }
 
-usb_ms_insert()
+function usb_ms_insert()
 {
     usb_insert "$1" mass_storage "$2" "$3"
 }
 
-usb_ms_eject()
+function usb_ms_eject()
 {
     usb_eject "$1" mass_storage
 }
@@ -81,7 +81,7 @@
 ##
 ## $2:  optional usb gadget interface type, e.g. usb|usb-ro|hdd|cdrom.
 ##		if $2 not specified or illegal, then using 'usb-ro' as default
-usb_set_interface_type()
+function usb_set_interface_type()
 {
     local usb_gadget_syspath="$1"
     local interface_type="${2:-'usb-ro'}"
@@ -143,7 +143,7 @@
 ##     If interface type not specified or unknown it will default to 'usb-ro'
 ##   For ecm, eem and rndis,
 ##            it is the optional MAC address for the Host (default a random MAC)
-usb_insert()
+function usb_insert()
 {
     local name="$1"
     local dev_type="$2"
@@ -198,7 +198,7 @@
 
 ## $1: device name, e.g. usb0, usb1
 ## $2: device type defined in kernel, e.g. mass_storage, ecm, eem, rndis
-usb_eject()
+function usb_eject()
 {
     local name="$1"
     local dev_type="$2"
@@ -213,7 +213,7 @@
     rmdir "$GADGET_BASE/${name}"
 }
 
-usage()
+function usage()
 {
     echo "Usage: $0 <action> ..."
     echo "       $0 setup <file> <sizeMB>"
