--- etc/hotplug/storage
+++ etc/hotplug/storage
@@ -13,6 +13,10 @@
 FIRST=$6
 MSTART=/sbin/start_mediasrv
 MSTOP=/sbin/stop_mediasrv
+
+# Do we have a Ftp server (ftpd) or was ist stripped from the firmware?
+_ftpd=$(basename $(which ftpd) 2> /dev/null)
+
 ## Wait for removal of filesystem semaphores (mask: $1, maximal wait period: $2)
 wait4remove () {
 local COUNT=0
@@ -182,6 +186,7 @@
 ## ftp server control
 ENABLED=`echo usbhost.ftp_server_enabled|usbcfgctl -s`
 if [ "$ENABLED" != "no" ] ; then
+if [ "$_ftpd" ] ; then
 if test -x /bin/inetdctl ; then
 inetdctl enable ftpd
 else
@@ -198,6 +203,7 @@
 ftpd -D -q $READONLYOPTION -t 120 -m 15 $USERSOPTION -h "$CONFIG_PRODUKT_NAME" &
 fi
 fi
+fi
 else
 if test -x /bin/inetdctl ; then
 inetdctl disable ftpd
--- etc/hotplug/run_mount
+++ etc/hotplug/run_mount
@@ -15,6 +15,10 @@
 MSTART=/sbin/start_mediasrv
 TR069START=/bin/tr069starter
 SYSFS=/var/sysfs
+
+# Do we have a Ftp server (ftpd) or was ist stripped from the firmware?
+_ftpd=$(basename $(which ftpd) 2> /dev/null)
+
 ## Generate a frontend'able 'nice name' to be used as mount point:
 nicename () {
 ## Find device's strings, remove/translate evil chars...
@@ -84,6 +88,7 @@
 eventadd 140 $MNTNAME
 ENABLED=`echo usbhost.ftp_server_enabled|usbcfgctl -s`
 if [ "$ENABLED" != "no" ] ; then
+if [ "$_ftpd" ] ; then
 if test -x /bin/inetdctl; then
 inetdctl enable ftpd
 else
@@ -102,6 +107,7 @@
 fi
 fi
 fi
+fi
 fi
 test -x $TR069START && $TR069START $MNTNAME
 if test -x /etc/samba_control ; then
