--- /dev/null
+diff -urpN busybox-1.12.1.orig/libbb/lineedit.c busybox-1.12.1/libbb/lineedit.c
+--- busybox-1.12.1.orig/libbb/lineedit.c 2008-09-28 20:04:20.000000000 +0200
++++ busybox-1.12.1/libbb/lineedit.c 2008-10-31 19:01:43.000000000 +0100
+@@ -1415,7 +1415,8 @@ int FAST_FUNC read_line_input(const char
+ if ((state->flags & SAVE_HISTORY) && state->hist_file)
+ load_history(state->hist_file);
+ #endif
+- state->cur_history = state->cnt_history;
++ if (state->flags)
++ state->cur_history = state->cnt_history;
+
+ /* prepare before init handlers */
+ cmdedit_y = 0; /* quasireal y, not true if line > xt*yt */