diff --git a/fastdreg/Makefile b/fastdreg/Makefile
index dd27b7dc85f6c83eae603847ff1341c28f447834..70a51eb7646b46fd4db26432480b3275aa9dfe21 100644
--- a/fastdreg/Makefile
+++ b/fastdreg/Makefile
@@ -30,7 +30,14 @@ define Build/Compile
 endef
 
 define Package/ffol-fastdreg/install
-	$(CP) ./files/* $(1)/
+	$(INSTALL_DIR) $(1)/etc/init.d/
+	$(INSTALL_BIN) files/fastdreg.init $(1)/etc/init.d/fastdreg
+	$(INSTALL_DIR) $(1)/etc/hotplug.d/iface/
+	$(INSTALL_DATA) files/etc/hotplug.d/iface/50-fastdstart $(1)/etc/hotplug.d/iface/
+	$(INSTALL_DIR) $(1)/lib/ffol/fastdreg/
+	$(INSTALL_BIN) files/lib/ffol/fastdreg/fastdreg.sh $(1)/lib/ffol/fastdreg/
+	$(INSTALL_DIR) $(1)/etc/config/
+	$(INSTALL_CONF) files/fastdreg.config $(1)/etc/config/fastdreg
 endef
 
 $(eval $(call BuildPackage,ffol-fastdreg))
diff --git a/fastdreg/files/etc/init.d/fastdreg b/fastdreg/files/etc/init.d/fastdreg
deleted file mode 100755
index 08055dc1a183d66d9d573db910c2f02f24d9a83b..0000000000000000000000000000000000000000
--- a/fastdreg/files/etc/init.d/fastdreg
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh 
-fastdenabled=$(uci get fastd.mesh_vpn.enabled)
-fastdregdone=$(uci get fastd.regdone)
-
-if [ $fastdenabled ] && [ ! $fastdregdone ]; then
-	/lib/ffol/fastdreg/fastdreg.sh
-fi
diff --git a/fastdreg/files/lib/ffol/fastdreg/fastdreg.sh b/fastdreg/files/lib/ffol/fastdreg/fastdreg.sh
index 845d326442efb6ea574683795e1786a5973a531f..ba8b5a719a3c7ea76b7656a1c856c34fd6b81e2a 100755
--- a/fastdreg/files/lib/ffol/fastdreg/fastdreg.sh
+++ b/fastdreg/files/lib/ffol/fastdreg/fastdreg.sh
@@ -7,13 +7,13 @@ hostname=$(uci get system.@system[0].hostname)
 
 pubkey=$(/etc/init.d/fastd show_key mesh_vpn)
 
-regdone=$(uci get fastd.regdone)
+regdone=$(uci get fastdreg.ffol.regdone)
 
-if [ -z $regdone ]; then
+if [ $regdone ]; then
 
         reg=$(wget -T15 "$keysrv/reg.php?name=$hostname&key=$pubkey" -O -)
         if [ "$reg" == "regdone" ]; then
-                uci set fastd.regdone=1
+                uci set fastdreg.ffol.regdone=1
         fi
 
 fi