diff --git a/package/busybox/files/telnet b/package/busybox/files/telnet
index c994c6052fa983929ee344a2ac831c5fd6f07718..c61fe73ad5c43abe7294d1d56c5cfe169295a06d 100755
--- a/package/busybox/files/telnet
+++ b/package/busybox/files/telnet
@@ -2,7 +2,12 @@
 # Copyright (C) 2006 OpenWrt.org
 
 start() {
-	if awk -F: '/^root:/ && $2 !~ /\!/ {exit 1}' /etc/passwd 2>/dev/null && [ -x /usr/sbin/dropbear ]; then telnetd -l /bin/login; fi
+	if 	[ \! -f /etc/passwd ] || \
+		awk -F: '/^root:/ && ($2 != "") && ($2 !~ /\!/) {exit 1}' /etc/passwd 2>/dev/null || \
+		[ \! -x /usr/sbin/dropbear ]
+	then \
+		telnetd -l /bin/login
+	fi
 }
 
 stop() {