diff --git a/src/help.c b/src/help.c
index 90f503435342b0cd0df10c72df02a9ee95abdc5a..611045b2ac46e0d3ca58c04242ed818b3a8434cc 100644
--- a/src/help.c
+++ b/src/help.c
@@ -131,8 +131,10 @@ void do_help(void (*refresh_func)(void))
 		    line = 0;
 		break;
 	    case NANO_LASTLINE_ALTKEY:
-		if (meta_key && last_line > editwinrows)
-		    line = last_line - (editwinrows - 1);
+		if (meta_key) {
+		    if (line + (editwinrows - 1) < last_line)
+			line = last_line - (editwinrows - 1);
+		}
 		break;
 	}