diff --git a/package/gluon-setup-mode/files/lib/gluon/setup-mode/rc.d/S50dropbear b/package/gluon-setup-mode/files/lib/gluon/setup-mode/rc.d/S50dropbear
index 590aede3ec1cb1bc0e2b7f3a7af8c03fee300ed6..2bbf1c2992f98c9018147f05cf695eca9e01b7c2 100755
--- a/package/gluon-setup-mode/files/lib/gluon/setup-mode/rc.d/S50dropbear
+++ b/package/gluon-setup-mode/files/lib/gluon/setup-mode/rc.d/S50dropbear
@@ -9,7 +9,7 @@ start_service() {
 
 	. /etc/init.d/dropbear
 
-	[ -s /etc/dropbear/dropbear_rsa_host_key ] || keygen
+	hk_generate_as_needed
 
 	. /lib/functions.sh
 	. /lib/functions/network.sh