diff --git a/asterisk.c b/asterisk.c
index 62b01c1599f9e924c37cf42e8aea8bbfb04df693..3e39c7cbf4aefdfa3a9bda9081d9029daecc030e 100755
--- a/asterisk.c
+++ b/asterisk.c
@@ -233,7 +233,18 @@ void ast_console_puts(const char *string)
 static void network_verboser(const char *s, int pos, int replace, int complete)
 	/* ARGUSED */
 {
-	ast_network_puts(s);
+	if (replace) {
+		char *t = alloca(strlen(s) + 2);
+		if (t) {
+			sprintf(t, "\r%s", s);
+			ast_network_puts(t);
+		} else {
+			ast_log(LOG_ERROR, "Out of memory\n");
+			ast_network_puts(s);
+		}
+	} else {
+		ast_network_puts(s);
+	}
 }
 
 static pthread_t lthread;