diff --git a/src/browser.c b/src/browser.c
index 99ec507281594f129f52cb183930bfdfdd1e7b3a..10f0cad81787ac3015926cbab84e721e92584f83 100644
--- a/src/browser.c
+++ b/src/browser.c
@@ -681,7 +681,7 @@ int filesearch_init(void)
     int input;
     char *buf;
 
-    if (last_search[0] != '\0') {
+    if (*last_search != '\0') {
 	char *disp = display_string(last_search, 0, COLS / 3, FALSE);
 
 	buf = charalloc(strlen(disp) + 7);
@@ -787,9 +787,8 @@ void do_filesearch(void)
 	last_search = mallocstrcpy(last_search, answer);
 
 #ifndef DISABLE_HISTORIES
-    /* If answer is not "", add this search string to the search history
-     * list. */
-    if (answer[0] != '\0')
+    /* If answer is not empty, add the string to the search history list. */
+    if (*answer != '\0')
 	update_history(&search_history, answer);
 #endif
 
@@ -798,10 +797,10 @@ void do_filesearch(void)
     bottombars(MBROWSER);
 }
 
-/* Search for the last given filename again without prompting. */
+/* Search again for the last given filename, without prompting. */
 void do_fileresearch(void)
 {
-    if (last_search[0] == '\0')
+    if (*last_search == '\0')
 	statusbar(_("No current search pattern"));
     else
 	findnextfile(last_search);
diff --git a/src/prompt.c b/src/prompt.c
index eacae87adb72c5190b6dba365a2302d87c657158..27e777f6381127f49aec5c5cdb1329364a5c72f4 100644
--- a/src/prompt.c
+++ b/src/prompt.c
@@ -629,7 +629,7 @@ functionptrtype get_prompt_string(int *actual, bool allow_tabs,
 	    if (history_list != NULL) {
 		/* If we're scrolling up at the bottom of the history list
 		 * and answer isn't blank, save answer in magichistory. */
-		if ((*history_list)->next == NULL && answer[0] != '\0')
+		if ((*history_list)->next == NULL && *answer != '\0')
 		    magichistory = mallocstrcpy(magichistory, answer);
 
 		/* Get the older search from the history list and save it in
diff --git a/src/search.c b/src/search.c
index 56ad96d944d2310fba13e0821ab8d16a607678a4..dd75f6ce2ea0d61471c2fe676e7717f0311be544 100644
--- a/src/search.c
+++ b/src/search.c
@@ -142,7 +142,7 @@ int search_init(bool replacing, bool use_answer)
      * do_search() or do_replace() and be called again.  In that case,
      * we should put the same search string back up. */
 
-    if (last_search[0] != '\0') {
+    if (*last_search != '\0') {
 	char *disp = display_string(last_search, 0, COLS / 3, FALSE);
 
 	buf = charalloc(strlen(disp) + 7);
@@ -465,11 +465,11 @@ void do_research(void)
 #ifndef DISABLE_HISTORIES
     /* If nothing was searched for yet during this run of nano, but
      * there is a search history, take the most recent item. */
-    if (last_search[0] == '\0' && searchbot->prev != NULL)
+    if (*last_search == '\0' && searchbot->prev != NULL)
 	last_search = mallocstrcpy(last_search, searchbot->prev->data);
 #endif
 
-    if (last_search[0] == '\0') {
+    if (*last_search == '\0') {
 	statusbar(_("No current search pattern"));
 	return;
     }