--- libbb/appletlib.c.orig	2010-12-21 05:29:45.000000000 +0100
+++ libbb/appletlib.c	2011-01-04 17:01:53.857064712 +0100
@@ -151,12 +151,14 @@
 	return strcmp(name, APPLET_NAME(i));
 }
 #endif
+static const char httpd_applet_name[] ALIGN1 = "httpd";
 int FAST_FUNC find_applet_by_name(const char *name)
 {
+	const char *name_to_search_for = (strncmp(name, httpd_applet_name, 5) != 0) ? name : httpd_applet_name;
 #if NUM_APPLETS > 8
 	/* Do a binary search to find the applet entry given the name. */
 	const char *p;
-	p = bsearch(name, applet_names, ARRAY_SIZE(applet_main), 1, applet_name_compare);
+	p = bsearch(name_to_search_for, applet_names, ARRAY_SIZE(applet_main), 1, applet_name_compare);
 	if (!p)
 		return -1;
 	return p - applet_names;
@@ -165,7 +167,7 @@
 	int i = 0;
 	const char *p = applet_names;
 	while (i < NUM_APPLETS) {
-		if (strcmp(name, p) == 0)
+		if (strcmp(name_to_search_for, p) == 0)
 			return i;
 		p += strlen(p) + 1;
 		i++;
