diff --git a/ChangeLog b/ChangeLog
index 8e1604a5e5674ffedafc3bc8b5af28d0dc1bf708..275838fc3d86406997050f31ec85b7ee97370a03 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,6 +6,7 @@
 	* src/browser.c (do_browser): Delete a snippet of dead code.
 	* src/browser.c (do_browser): Delete an unneeded variable.
 	* src/search.c (do_gotolinecolumn): Delete another unneeded variable.
+	* src/search.c (search_init): Snip an always-FALSE condition.
 
 2016-03-17  Benno Schulenberg  <bensberg@justemail.net>
 	* src/search.c (do_research): Use the Search key bindings also during
diff --git a/src/search.c b/src/search.c
index 0ef9f3e2467f85a032cf9a1305d88c09c8df6de2..59d2f1beabbdf81d8377e203d2bf8cda91e545e6 100644
--- a/src/search.c
+++ b/src/search.c
@@ -192,9 +192,9 @@ int search_init(bool replacing, bool use_answer)
     free(backupstring);
     backupstring = NULL;
 
-    /* Cancel any search, or just return with no previous search. */
-    if (i == -1 || (i < 0 && *last_search == '\0') ||
-		(!replacing && i == 0 && *answer == '\0')) {
+    /* If the search was cancelled, or we have a blank answer and
+     * nothing was searched for yet during this session, get out. */
+    if (i == -1 || (i == -2 && *last_search == '\0')) {
 	statusbar(_("Cancelled"));
 	return -1;
     } else {