diff --git a/ChangeLog b/ChangeLog
index 281c288ea617aa9e82daac7c07df0c3542dd729b..57a86740ee10349c5786756a44b61f7f5afe8dcf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -35,6 +35,9 @@ CVS code -
   do_output()
 	- Properly allow wrapping when we insert a tab, for consistency.
 	  (DLR)
+- search.c:
+  get_history_newer()
+	- Remove redundant check. (DLR)
 - utils.c:
   num_of_digits()
 	- Use a size_t instead of an int, and rename to digits(). (DLR)
diff --git a/src/search.c b/src/search.c
index 696e23498434968edd58d0b471e1b647c62098cc..4288f789b9a9cc4f6ee4a1f4611fcae5e573ceb0 100644
--- a/src/search.c
+++ b/src/search.c
@@ -1215,8 +1215,7 @@ char *get_history_newer(historyheadtype *h)
 {
     if (h->current->prev != NULL) {
 	h->current = h->current->prev;
-	if (h->current->prev != NULL)
-	    return h->current->data;
+	return h->current->data;
     }
     return NULL;
 }
diff --git a/src/winio.c b/src/winio.c
index bf5893764851349f452fd831d8d8813805d24c6c..e4bb525f0631d009ca77c8b05fff7a6dd8986466 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -2450,12 +2450,12 @@ int nanogetstr(bool allow_tabs, const char *buf, const char *def,
     char *complete = NULL;
     int last_kbinput = 0;
 
-    /* This variable is used in the search history code.  use_cb == 0 
-       means that we're using the existing history and ignoring
-       currentbuf.  use_cb == 1 means that the entry in answer should be
-       moved to currentbuf or restored from currentbuf to answer. 
-       use_cb == 2 means that the entry in currentbuf should be moved to
-       answer or restored from answer to currentbuf. */
+    /* This variable is used in the search history code.  use_cb == 0
+     * means that we're using the existing history and ignoring
+     * currentbuf.  use_cb == 1 means that the entry in answer should be
+     * moved to currentbuf or restored from currentbuf to answer.
+     * use_cb == 2 means that the entry in currentbuf should be moved to
+     * answer or restored from answer to currentbuf. */
     int use_cb = 0;
 #endif
 
@@ -2478,7 +2478,8 @@ int nanogetstr(bool allow_tabs, const char *buf, const char *def,
 
     nanoget_repaint(buf, answer, statusbar_x);
 
-    /* Refresh the edit window before getting input. */
+    /* Refresh the edit window and the statusbar before getting
+     * input. */
     wnoutrefresh(edit);
     wrefresh(bottomwin);
 
@@ -2599,7 +2600,7 @@ int nanogetstr(bool allow_tabs, const char *buf, const char *def,
 			free(currentbuf);
 			currentbuf = NULL;
 			use_cb = 1;
-		    /* Itherwise, if currentbuf is NULL and use_cb isn't
+		    /* Otherwise, if currentbuf is NULL and use_cb isn't
 		     * 2, it means that we're scrolling down at the
 		     * bottom of the search history and the current
 		     * answer (if it's not blank) needs to be saved in