diff --git a/tools/inetcat.c b/tools/inetcat.c
index adcb1f1..af03dc0 100644
--- a/tools/inetcat.c
+++ b/tools/inetcat.c
@@ -79,18 +79,20 @@
 {
     char *name = NULL;
     name = strrchr(argv[0], '/');
-    fprintf(is_error ? stderr : stdout, "Usage: %s [OPTIONS] DEVICE_PORT\n\n", (name ? name + 1: argv[0]));
+    fprintf(is_error ? stderr : stdout, "Usage: %s [OPTIONS] DEVICE_PORT\n", (name ? name + 1: argv[0]));
     fprintf(is_error ? stderr : stdout,
-      "Opens a read/write interface via STDIN/STDOUT to a TCP port on a usbmux device.\n\n" \
-      "  -u, --udid UDID    target specific device by UDID\n" \
-      "  -n, --network      connect to network device\n" \
-      "  -l, --local        connect to USB device (default)\n" \
-      "  -h, --help         prints usage information\n" \
-      "  -d, --debug        increase debug level\n" \
-      "\n" \
-      "Homepage: <" PACKAGE_URL ">\n"
-      "Bug reports: <" PACKAGE_BUGREPORT ">\n"
-      "\n"
+        "\n" \
+        "Opens a read/write interface via STDIN/STDOUT to a TCP port on a usbmux device.\n" \
+        "\n" \
+        "OPTIONS:\n" \
+        "  -u, --udid UDID    target specific device by UDID\n" \
+        "  -n, --network      connect to network device\n" \
+        "  -l, --local        connect to USB device (default)\n" \
+        "  -h, --help         prints usage information\n" \
+        "  -d, --debug        increase debug level\n" \
+        "\n" \
+        "Homepage:    <" PACKAGE_URL ">\n"
+        "Bug Reports: <" PACKAGE_BUGREPORT ">\n"
     );
 }
 
diff --git a/tools/iproxy.c b/tools/iproxy.c
index e81b290..208b6da 100644
--- a/tools/iproxy.c
+++ b/tools/iproxy.c
@@ -214,20 +214,21 @@
 {
 	char *name = NULL;
 	name = strrchr(argv[0], '/');
-	fprintf(is_error ? stderr : stdout, "Usage: %s [OPTIONS] LOCAL_PORT:DEVICE_PORT [LOCAL_PORT2:DEVICE_PORT2 ...]\n\n", (name ? name+1 : argv[0]));
+	fprintf(is_error ? stderr : stdout, "Usage: %s [OPTIONS] LOCAL_PORT:DEVICE_PORT [LOCAL_PORT2:DEVICE_PORT2 ...]\n", (name ? name+1 : argv[0]));
 	fprintf(is_error ? stderr : stdout,
-	  "Proxy that binds local TCP ports to be forwarded to the specified ports on a usbmux device.\n\n" \
-	  "OPTIONS:\n" \
-	  "  -u, --udid UDID    target specific device by UDID\n" \
-	  "  -n, --network      connect to network device\n" \
-	  "  -l, --local        connect to USB device (default)\n" \
-	  "  -s, --source ADDR  source address for listening socket (default 127.0.0.1)\n" \
-	  "  -h, --help         prints usage information\n" \
-	  "  -d, --debug        increase debug level\n" \
-	  "\n" \
-	  "Homepage: <" PACKAGE_URL ">\n"
-	  "Bug reports: <" PACKAGE_BUGREPORT ">\n"
-	  "\n"
+		"\n" \
+		"Proxy that binds local TCP ports to be forwarded to the specified ports on a usbmux device.\n" \
+		"\n" \
+		"OPTIONS:\n" \
+		"  -u, --udid UDID    target specific device by UDID\n" \
+		"  -n, --network      connect to network device\n" \
+		"  -l, --local        connect to USB device (default)\n" \
+		"  -s, --source ADDR  source address for listening socket (default 127.0.0.1)\n" \
+		"  -h, --help         prints usage information\n" \
+		"  -d, --debug        increase debug level\n" \
+		"\n" \
+		"Homepage:    <" PACKAGE_URL ">\n"
+		"Bug Reports: <" PACKAGE_BUGREPORT ">\n"
 	);
 }
 
