diff --git a/parse.c b/parse.c
index 3c20312..f9e0ebe 100644
--- a/parse.c
+++ b/parse.c
@@ -579,10 +579,11 @@
 	return NULL;
 }
 
-static void print_option(struct fio_option *o, struct fio_option *org,
-			 int level)
+static void __print_option(struct fio_option *o, struct fio_option *org,
+			   int level)
 {
 	char name[256], *p;
+	int depth;
 
 	if (!o)
 		return;
@@ -590,13 +591,37 @@
 		org = o;
 	
 	p = name;
-	if (level)
-		p += sprintf(p, "%s", "    ");
+	depth = level;
+	while (depth--)
+		p += sprintf(p, "%s", "  ");
 
 	sprintf(p, "%s", o->name);
 
 	printf("%-24s: %s\n", name, o->help);
-	print_option(find_child(o, org), org, level + 1);
+}
+
+static void print_option(struct fio_option *o)
+{
+	struct fio_option *parent;
+	struct fio_option *__o;
+	unsigned int printed;
+	unsigned int level;
+
+	__print_option(o, NULL, 0);
+	parent = o;
+	level = 0;
+	do {
+		level++;
+		printed = 0;
+
+		while ((__o = find_child(o, parent)) != NULL) {
+			__print_option(__o, o, level);
+			o = __o;
+			printed++;
+		}
+
+		parent = o;
+	} while (printed);
 }
 
 int show_cmd_help(struct fio_option *options, const char *name)
@@ -635,7 +660,7 @@
 				printf("%24s: %s\n", o->name, o->help);
 			if (show_all) {
 				if (!o->parent)
-					print_option(o, NULL, 0);
+					print_option(o);
 				continue;
 			}
 		}
