diff --git a/libbb/appletlib.c b/libbb/appletlib.c
index f155d09..319bcc2 100644
--- a/libbb/appletlib.c
+++ b/libbb/appletlib.c
@@ -737,7 +737,7 @@
 	 * busybox.h::bb_install_loc_t, or else... */
 	int (*lf)(const char *, const char *);
 	char *fpc;
-        const char *appname = applet_names;
+	const char *appname = applet_names;
 	unsigned i;
 	int rc;
 
diff --git a/libbb/nuke_str.c b/libbb/nuke_str.c
index 240e680..b5385e9 100644
--- a/libbb/nuke_str.c
+++ b/libbb/nuke_str.c
@@ -12,7 +12,7 @@
 
 void FAST_FUNC nuke_str(char *str)
 {
-        if (str) {
+	if (str) {
 		while (*str)
 			*str++ = 0;
 		/* or: memset(str, 0, strlen(str)); - not as small as above */
diff --git a/shell/hush.c b/shell/hush.c
index 238f997..7da8f33 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -2470,7 +2470,7 @@
 	 */
 	if (ENABLE_FEATURE_CHECK_UNICODE_IN_ENV
 	 || ENABLE_UNICODE_USING_LOCALE
-        ) {
+	) {
 		const char *s = get_local_var_value("LC_ALL");
 		if (!s) s = get_local_var_value("LC_CTYPE");
 		if (!s) s = get_local_var_value("LANG");
@@ -5795,8 +5795,8 @@
 	 */
 
 	setup_string_in_str(&input, str);
-        o_addchr(&dest, '\0');
-        dest.length = 0;
+	o_addchr(&dest, '\0');
+	dest.length = 0;
 	exp_str = NULL;
 
 	for (;;) {
diff --git a/shell/random.c b/shell/random.c
index 5d36205..56c7c5a 100644
--- a/shell/random.c
+++ b/shell/random.c
@@ -46,11 +46,11 @@
 	 * Choices for a,b,c: 10,13,10; 8,9,22; 2,7,3; 23,3,24
 	 * (given by algorithm author)
 	 */
-        enum {
-                a = 2,
-                b = 7,
-                c = 3,
-        };
+	enum {
+		a = 2,
+		b = 7,
+		c = 3,
+	};
 
 	uint32_t t;
 
@@ -154,7 +154,7 @@
 		write(1, buf, sizeof(buf));
 	}
 
-        return 0;
+	return 0;
 }
 
 #endif
diff --git a/util-linux/unshare.c b/util-linux/unshare.c
index 7c295da..fffee28 100644
--- a/util-linux/unshare.c
+++ b/util-linux/unshare.c
@@ -73,7 +73,7 @@
 #include "libbb.h"
 
 static void mount_or_die(const char *source, const char *target,
-                 const char *fstype, unsigned long mountflags)
+		const char *fstype, unsigned long mountflags)
 {
 	if (mount(source, target, fstype, mountflags, NULL)) {
 		bb_perror_msg_and_die("can't mount %s on %s (flags:0x%lx)",
