Index: iputils/ping.c
===================================================================
--- iputils.orig/ping.c	2013-05-14 09:30:55.344116453 -0700
+++ iputils/ping.c	2013-05-14 09:31:55.276413640 -0700
@@ -787,8 +787,10 @@
 		if (gather_statistics((__u8*)icp, sizeof(*icp), cc,
 				      ntohs(icp->un.echo.sequence),
 				      ip->ttl, 0, tv, pr_addr(from->sin_addr.s_addr),
-				      pr_echo_reply))
+				      pr_echo_reply)) {
+			fflush(stdout);
 			return 0;
+		}
 	} else {
 		/* We fall here when a redirect or source quench arrived.
 		 * Also this branch processes icmp errors, when IP_RECVERR
Index: iputils/ping6.c
===================================================================
--- iputils.orig/ping6.c	2013-05-14 09:30:55.344116453 -0700
+++ iputils/ping6.c	2013-05-14 09:31:55.276413640 -0700
@@ -1607,8 +1607,10 @@
 		if (gather_statistics((__u8*)icmph, sizeof(*icmph), cc,
 				      ntohs(icmph->icmp6_seq),
 				      hops, 0, tv, pr_addr(&from->sin6_addr),
-				      pr_echo_reply))
+				      pr_echo_reply)) {
+			fflush(stdout);
 			return 0;
+		}
 	} else if (icmph->icmp6_type == ICMPV6_NI_REPLY) {
 		struct ni_hdr *nih = (struct ni_hdr *)icmph;
 		int seq = niquery_check_nonce(nih->ni_nonce);
