diff --git a/ChangeLog b/ChangeLog
index f9a292c9403f4068475a43575c745dd699e2f0c3..9653a93fff69dd19ed29ca268cde990b78626440 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,9 @@
 	  location.  Several new functions to files.c: load_poshistory(), save_poshistory(), 
 	  check_poshistory(), update_poshistory(), and reworking of histfilename().  New FAQ entry
 	  4.15 discussing the change and offering an interoperability workaround.
+	* files.c (load_history): Set last_search to the last search value we loaded from history,
+	  so do_research will succeed without needing to manually load the last seach in.  Fixes
+	  bug reported by Matt "ML" at gmail.
 
 2011-02-12 Chris Allegretta <chrisa@asty.org>
 	* Initial libmagic implementation, adapted from Eitan Adler <eitanadlerlist@gmail.com>.
diff --git a/src/files.c b/src/files.c
index f1df487cb0b3e3002c790abeb24f2412f5501893..b10959871eaee2e43c53d52c62b1762f81e33290 100644
--- a/src/files.c
+++ b/src/files.c
@@ -2816,6 +2816,8 @@ void load_history(void)
 
 	    fclose(hist);
 	    free(line);
+	    if (search_history->prev != NULL)
+		last_search = mallocstrcpy(NULL, search_history->prev->data);
 	}
 	free(nanohist);
 	free(legacyhist);