diff --git a/ChangeLog b/ChangeLog
index a369db18faff42f2bc42ebab0f8fdcc82d7a8820..7552dbf0ff3c2e9f9d27518b66a647b2fd151c5c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,8 @@
 	* src/search.c (do_replace_loop): Remove the unintended special
 	case for replacing multiple occurrences of a literal ^ or $.
 	* src/search.c (findnextstr): Delete an always-FALSE parameter.
+	* src/search.c (findnextstr): Rename the parameter 'whole_word'
+	to 'whole_word_only', for clarity.
 
 2015-04-21  Benno Schulenberg  <bensberg@justemail.net>
 	* src/browser.c (findnextfile): Save the settings of the global
diff --git a/src/proto.h b/src/proto.h
index 4e8d13ad0bd4f442578b71f4c1e7843f7e7baed5..f90b18eb02001a456976a4cad13577ab80dbfa86 100644
--- a/src/proto.h
+++ b/src/proto.h
@@ -582,7 +582,7 @@ void search_replace_abort(void);
 int search_init(bool replacing, bool use_answer);
 bool findnextstr(
 #ifndef DISABLE_SPELLER
-	bool whole_word,
+	bool whole_word_only,
 #endif
 	const filestruct *begin, size_t begin_x,
 	const char *needle, size_t *needle_len);
@@ -597,7 +597,7 @@ int replace_regexp(char *string, bool create);
 char *replace_line(const char *needle);
 ssize_t do_replace_loop(
 #ifndef DISABLE_SPELLER
-	bool whole_word,
+	bool whole_word_only,
 #endif
 	bool *canceled, const filestruct *real_current, size_t
 	*real_current_x, const char *needle);
diff --git a/src/search.c b/src/search.c
index b3c4971059d3f0121d492d37a7a6ad5a146c6d2b..e00621d7e02f66e69ea9d3a03ae911d28c366f8f 100644
--- a/src/search.c
+++ b/src/search.c
@@ -255,7 +255,7 @@ int search_init(bool replacing, bool use_answer)
  * to the length of the string we found if it isn't NULL. */
 bool findnextstr(
 #ifndef DISABLE_SPELLER
-	bool whole_word,
+	bool whole_word_only,
 #endif
 	const filestruct *begin, size_t begin_x,
 	const char *needle, size_t *needle_len)
@@ -315,7 +315,7 @@ bool findnextstr(
 #ifndef DISABLE_SPELLER
 	    /* If we're searching for whole words, see if this potential
 	     * match is a whole word. */
-	    if (whole_word) {
+	    if (whole_word_only) {
 		char *word = mallocstrncpy(NULL, found, found_len + 1);
 		word[found_len] = '\0';
 
@@ -326,7 +326,7 @@ bool findnextstr(
 
 	    /* If we're searching for whole words and this potential
 	     * match isn't a whole word, continue searching. */
-	    if (!whole_word || found_whole)
+	    if (!whole_word_only || found_whole)
 #endif
 		break;
 	}
@@ -616,7 +616,7 @@ char *replace_line(const char *needle)
  * canceled isn't NULL, set it to TRUE if we canceled. */
 ssize_t do_replace_loop(
 #ifndef DISABLE_SPELLER
-	bool whole_word,
+	bool whole_word_only,
 #endif
 	bool *canceled, const filestruct *real_current, size_t
 	*real_current_x, const char *needle)
@@ -655,7 +655,7 @@ ssize_t do_replace_loop(
     findnextstr_wrap_reset();
     while (findnextstr(
 #ifndef DISABLE_SPELLER
-	whole_word,
+	whole_word_only,
 #endif
 	real_current, *real_current_x, needle, &match_len)) {
 	int i = 0;