diff --git a/src/main.c b/src/main.c
index a71977daf9041e896599c5a1050c2525328414f3..9c7191d6e3e4e34daf1e13230d8cee3c48f6f01e 100644
--- a/src/main.c
+++ b/src/main.c
@@ -35,5 +35,9 @@
 
 int main(int argc, char *argv[])
 {
+	/* disable buffering otherwise piping to logs causes problems work */
+	setvbuf(stdout, NULL, _IONBF, 0);
+	setvbuf(stderr, NULL, _IONBF, 0);
+
 	return openocd_main(argc, argv);
 }