diff --git a/main/asterisk.c b/main/asterisk.c
index a7842a6ab682a0ea4a9ad2071e9926997c0a3961..ca560cdb2731fcfe7f16d0c9f8027dd40eed0eac 100644
--- a/main/asterisk.c
+++ b/main/asterisk.c
@@ -2708,11 +2708,12 @@ static int ast_el_read_char(EditLine *editline, char *cp)
 
 			console_print(buf, 0);
 
-			if ((res < EL_BUF_SIZE - 1) && ((buf[res-1] == '\n') || (buf[res-2] == '\n'))) {
+			if ((res < EL_BUF_SIZE - 1) && ((buf[res-1] == '\n') || (res >= 2 && buf[res-2] == '\n'))) {
 				*cp = CC_REFRESH;
 				return(1);
-			} else
+			} else {
 				lastpos = 1;
+			}
 		}
 	}