diff -d -urpN busybox.9/coreutils/ls.c busybox.a/coreutils/ls.c
--- busybox.9/coreutils/ls.c	2009-10-13 11:32:38.000000000 +0200
+++ busybox.a/coreutils/ls.c	2009-10-23 15:54:47.788196727 +0200
@@ -633,7 +633,7 @@ static void showdirs(struct dnode **dn, 
 		}
 		subdnp = list_dir((*dn)->fullname, &nfiles);
 #if ENABLE_DESKTOP
-		if (all_fmt & STYLE_LONG)
+		if ((all_fmt & STYLE_MASK) == STYLE_LONG)
 			printf("total %"OFF_FMT"u\n", calculate_blocks(subdnp));
 #endif
 		if (nfiles > 0) {
