diff --git a/src/files.c b/src/files.c
index 95a0db90b99a17c89d6843c9c90190e574c54d11..cb8bd768942d656fdb901001f02b55224d93200f 100644
--- a/src/files.c
+++ b/src/files.c
@@ -2962,12 +2962,11 @@ void load_history(void)
 	    size_t buf_len = 0;
 	    ssize_t read;
 
-	    while ((read = getline(&line, &buf_len, hist)) >= 0) {
-		if (read > 0 && line[read - 1] == '\n')
-		    line[--read] = '\0';
-		if (read > 0) {
+	    while ((read = getline(&line, &buf_len, hist)) > 0) {
+		line[--read] = '\0';
+		if (read > 0)
 		    update_history(history, line);
-		} else
+		else
 		    history = &replace_history;
 	    }