diff --git a/ChangeLog b/ChangeLog
index 9c836ea17833a65c26010c01dc25142a89da1654..0e85cc407e55eef682af4c353630a209f63c5ec3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2016-03-17  Benno Schulenberg  <bensberg@justemail.net>
+	* src/search.c (do_research): Use the Search key bindings also during
+	a Re-search, to enable cancelling.  This fixes Savannah bug #47159.
+
 2016-03-14  Benno Schulenberg  <bensberg@justemail.net>
 	* src/color.c (color_update): Don't dereference a possible NULL.
 	* src/rcfile.c (parse_colors): Make error message equal to others.
diff --git a/src/search.c b/src/search.c
index 48ffb9f50f4df88950b73a4345de8e1fd79b74fd..38c0bceb45a1f03d312f0a04a2c0a66009ece26c 100644
--- a/src/search.c
+++ b/src/search.c
@@ -522,6 +522,9 @@ void do_research(void)
 	    return;
 #endif
 
+	/* Use the search-menu key bindings, to allow cancelling. */
+	currmenu = MWHEREIS;
+
 	findnextstr_wrap_reset();
 	didfind = findnextstr(
 #ifndef DISABLE_SPELLER