diff -urpN busybox.7/libbb/verror_msg.c busybox.8/libbb/verror_msg.c
--- busybox.7/libbb/verror_msg.c	2006-09-04 20:08:16.000000000 +0200
+++ busybox.8/libbb/verror_msg.c	2006-09-04 22:41:27.000000000 +0200
@@ -18,48 +18,30 @@ int bb_logmode = LOGMODE_STDIO;
 
 void bb_verror_msg(const char *s, va_list p, const char* strerr)
 {
-	char *msg;
 	/* va_copy is used because it is not portable
 	 * to use va_list p twice */
 	va_list p2;
 	va_copy(p2, p);
 
-	/* bb_error_xx support */
-	if (!strerr || !*strerr) {
-		if (bb_logmode & LOGMODE_STDIO) {
-			fflush(stdout);
-			fprintf(stderr, "%s: ", bb_applet_name);
-			vfprintf(stderr, s, p);
-			fputc('\n', stderr);
-		}
-		if (bb_logmode & LOGMODE_SYSLOG) {
-			vsyslog(LOG_ERR, s, p2);
-		}
-		goto end;
-	}
-
-	/* bb_perror_xx support */
 	if (bb_logmode & LOGMODE_STDIO) {
 		fflush(stdout);
 		fprintf(stderr, "%s: ", bb_applet_name);
-		msg = "";
-		if (s && *s) {
-			vfprintf(stderr, s, p);
-			msg = ": ";
-		}
-		fprintf(stderr, "%s%s\n", msg, strerr);
+		vfprintf(stderr, s, p);
+		if (!strerr)
+			fputc('\n', stderr);
+		else
+			fprintf(stderr, ": %s\n", strerr);
 	}
 	if (bb_logmode & LOGMODE_SYSLOG) {
-		if (s && *s) {
+		if (!strerr)
+			vsyslog(LOG_ERR, s, p2);
+		else  { /* bb_perror_xx */
 			/* xasprintf must not call bb_perror
 			 * or it will recurse! */
-			msg = xasprintf(s, p2);
+			char *msg = xasprintf(s, p2);
 			syslog(LOG_ERR, "%s: %s", msg, strerr);
 			free(msg);
-		} else {
-			syslog(LOG_ERR, "%s", strerr);
 		}
 	}
-end:
 	va_end(p2);
 }
