diff --git a/src/packages/fff/fff-hoods/Makefile b/src/packages/fff/fff-hoods/Makefile
index b565ac7709179b3db9542d16786fded4971d2543..93fd4305f843ca2750bfb1349f09e140fae74e71 100644
--- a/src/packages/fff/fff-hoods/Makefile
+++ b/src/packages/fff/fff-hoods/Makefile
@@ -1,7 +1,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=fff-hoods
-PKG_VERSION:=2
+PKG_VERSION:=3
 PKG_RELEASE:=1
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
index 57c6f9f7b9fbfa853a1497828a53b4d89646a78c..47e228b71a3ab6db84ff9c08ef9c0d09953af19f 100755
--- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
+++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
@@ -195,9 +195,9 @@ if [ -s "$hoodfiletmp" ]; then
 	# and now we get to vpn-select script and load VPNs directly from /tmp/keyxchangev2data
 	
 	if hasInternet ; then
-		sh /usr/sbin/vpn-select
+		/usr/sbin/vpn-select "$hoodfiletmp"
 	else
-		sh /usr/sbin/vpn-stop
+		/usr/sbin/vpn-stop
 	fi
 
 	# now we load the prefix from the hoodfile and set this to br-mesh
diff --git a/src/packages/fff/fff-vpn-select/Makefile b/src/packages/fff/fff-vpn-select/Makefile
index 4e2d89b23d63d1b161093b6f4a96a5fe6a6f6c07..27cff09a4d04652061c267b45d0c1c5c38b1e134 100644
--- a/src/packages/fff/fff-vpn-select/Makefile
+++ b/src/packages/fff/fff-vpn-select/Makefile
@@ -1,7 +1,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=fff-vpn-select
-PKG_VERSION:=1
+PKG_VERSION:=3
 PKG_RELEASE:=1
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
diff --git a/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-select b/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-select
index 7c9bced3bb0d42d39cdb58340d7d0ec77622abda..ddd21a196ed181659132f62a4b81c3dac08ae725 100755
--- a/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-select
+++ b/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-select
@@ -1,15 +1,18 @@
 #!/bin/sh
 
-. /lib/functions/fff/keyxchange
+# Usage: vpn-select <path-to-hood-file>
+
 . /usr/share/libubox/jshn.sh
 
+hoodfile="$1"
+
 make_config() {
 # remove old config
 >/etc/config/tunneldigger
 rm /tmp/fastd_fff_peers/*
 count=0
 Index=1
-json_load "$(cat "$hoodfiletmp")"
+json_load "$(cat "$hoodfile")"
 json_select vpn
 # get fastd peers
 while json_select "$Index" > /dev/null
@@ -53,8 +56,8 @@ json_select ".." # back to root
 
 # main
 
-# Only do something when file is here and greater 0 byte
-if [ -s "$hoodfiletmp" ]; then
+# Only do something if file is there and not empty; otherwise exit 1
+if [ -s "$hoodfile" ]; then
 	# set some vars
 	hostname=$(cat /proc/sys/kernel/hostname)
 	mac=$(awk '{ mac=toupper($1); gsub(":", "", mac); print mac }' /sys/class/net/br-mesh/address 2>/dev/null)
@@ -84,4 +87,8 @@ if [ -s "$hoodfiletmp" ]; then
 			([ -s "$pidfile" ] && [ -d "/proc/$(cat "$pidfile")" ]) && /etc/init.d/fastd stop
 		fi
 	fi
+	exit 0
+else
+	echo "vpn-select: Hood file not found or empty!"
+	exit 1
 fi