diff --git a/ChangeLog b/ChangeLog
index 880e9f799a22ba0d2ce244800f0e51bd0023d25a..d10f9d82e97c16abe8afcfdce10c3ad121cc0529 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -68,6 +68,9 @@ CVS code -
 	- Add the ability to move to the first and last line of the help
 	  text via Meta-\ (Meta-|) and Meta-/ (Meta-?).  Changes to
 	  shortcut_init() and do_help(). (DLR)
+- browser.c:
+  parse_browser_input()
+	- Remove redundant key checks. (DLR)
 - files.c:
   open_file()
 	- Remove redundant wording in the error message when we try to
@@ -125,6 +128,7 @@ CVS code -
 	  to check for a main shortcut key instead of both it and all of
 	  its equivalents. (DLR)
 	- Clean up the handling of NANO_REFRESH_KEY. (DLR)
+	- Remove redundant key checks. (DLR)
   help_init()
 	- If we have at least two entries' worth of blank space, use it
 	  to display more of "^Space" and "M-Space". (DLR, suggested by
@@ -133,6 +137,7 @@ CVS code -
 	- Add Space and - as aliases for PageDown and PageUp, for
 	  consistency with the file browser. (DLR, suggested by Benno
 	  Schulenberg)
+	- Remove redundant key checks. (DLR)
 - nano.c:
   renumber()
 	- Remove invalid assert. (DLR, found by Filipe Moreira)
@@ -171,6 +176,8 @@ CVS code -
 	- Change all rcfile error messages to refer to commands instead
 	  of directives, for consistency with nanorc.5. (DLR)
 - text.c:
+  do_justify()
+	- Remove redundant key checks. (DLR)
   do_spell()
 	- Clarify the error message when creating a temporary file
 	  fails. (DLR)
diff --git a/src/browser.c b/src/browser.c
index 62eb4be09bc50ef61deaf3054e689c27fd01c399..19b479bfba7ec21722883d10f4f777a187880ea0 100644
--- a/src/browser.c
+++ b/src/browser.c
@@ -493,7 +493,7 @@ void parse_browser_input(int *kbinput, bool *meta_key, bool *func_key)
     get_shortcut(browser_list, kbinput, meta_key, func_key);
 
     /* Pico compatibility. */
-    if (*meta_key == FALSE && *func_key == FALSE) {
+    if (*meta_key == FALSE) {
 	switch (*kbinput) {
 	    case ' ':
 		*kbinput = NANO_NEXTPAGE_KEY;
diff --git a/src/help.c b/src/help.c
index 3ca686b26e0e87e96ba1c6b800d382db1cf4d1c0..3d4778c4e78961099dc7b7f5b148198176104bf6 100644
--- a/src/help.c
+++ b/src/help.c
@@ -136,8 +136,8 @@ void do_help(void (*refresh_func)(void))
 		break;
 	}
 
-	if ((kbinput != ERR && line == old_line) || (!meta_key &&
-		!func_key && kbinput == NANO_REFRESH_KEY))
+	if ((kbinput != ERR && line == old_line) || kbinput ==
+		NANO_REFRESH_KEY)
 	    goto skip_redisplay;
 
 	blank_edit();
@@ -574,7 +574,7 @@ void parse_help_input(int *kbinput, bool *meta_key, bool *func_key)
 {
     get_shortcut(help_list, kbinput, meta_key, func_key);
 
-    if (*meta_key == FALSE && *func_key == FALSE) {
+    if (*meta_key == FALSE) {
 	switch (*kbinput) {
 	    /* For consistency with the file browser. */
 	    case ' ':
diff --git a/src/text.c b/src/text.c
index f43440262d6c611ff1c6c46853226372825a55a6..26e317611ef03b6a34d15045362e997a7b61b506 100644
--- a/src/text.c
+++ b/src/text.c
@@ -1671,8 +1671,7 @@ void do_justify(bool full_justify)
     kbinput = do_input(&meta_key, &func_key, &s_or_t, &ran_func,
 	&finished, FALSE);
 
-    if (!meta_key && !func_key && s_or_t &&
-	kbinput == NANO_UNJUSTIFY_KEY) {
+    if (s_or_t && kbinput == NANO_UNJUSTIFY_KEY) {
 	/* Splice the justify buffer back into the file, but only if we
 	 * actually justified something. */
 	if (first_par_line != NULL) {