diff --git a/ChangeLog b/ChangeLog
index cb49de3b2ea47e09bcdd600e6ec5a2a20566e8ae..7945515bc14fb48887f338a06d7dd4883d9b39af 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -11,6 +11,10 @@ CVS Code -
 - nano.c:
   main()
 	- Add Esc-[-[IGL] keys for FreeBSD Console (PgUp,PgDn,Insert).
+        - Added better Hurd support for function keys (Alt-V,U,9,@,F).
+  signal_init()
+        - do SIG_IGN for the SIGTSTP sigaction regardless of whether
+          we have _POSIX_VDISABLE or not (more Hurd fixes)
   help_init()
 	- Typo fixes and additions to the new help texts.
 - po/de.po:
diff --git a/nano.c b/nano.c
index 17c410c477cbd4cf385b6aaecd9019aba0d57c4c..6b80d767e41999c37e52010953c0e085287229fd 100644
--- a/nano.c
+++ b/nano.c
@@ -2010,10 +2010,11 @@ void signal_init(void)
 	tcgetattr(0, &term);
 	term.c_cc[VSUSP] = _POSIX_VDISABLE;
 	tcsetattr(0, TCSANOW, &term);
-#else
+#endif
+
+	/* The HURD seems to need this anyway! */
 	act.sa_handler = SIG_IGN;
 	sigaction(SIGTSTP, &act, NULL);
-#endif
 
     } else {
 	/* if we don't do this, it seems other stuff interrupts the
@@ -3027,6 +3028,7 @@ int main(int argc, char *argv[])
 		    kbinput = KEY_PPAGE;
 		    wgetch(edit);
 		    break;
+		case 'V':	/* Alt-[-V = Page Up in Hurd Console */
 		case 'I':	/* Alt-[-I = Page Up - FreeBSD Console */
 		    kbinput = KEY_PPAGE;
 		    break;
@@ -3034,6 +3036,7 @@ int main(int argc, char *argv[])
 		    kbinput = KEY_NPAGE;
 		    wgetch(edit);
 		    break;
+		case 'U':	/* Alt-[-U = Page Down in Hurd Console */
 		case 'G':	/* Alt-[-G = Page Down - FreeBSD Console */
 		    kbinput = KEY_NPAGE;
 		    break;
@@ -3045,6 +3048,10 @@ int main(int argc, char *argv[])
 		    kbinput = KEY_END;
 		    wgetch(edit);
 		    break;
+		case '9':	/* Alt-[-9 = Delete in Hurd Console */
+		    kbinput = KEY_DC;
+		    break;
+		case '@':	/* Alt-[-9 = Insert in Hurd Console */
 		case 'L':		/* Insert Key - FreeBSD Console */
 #ifdef ENABLE_MULTIBUFFER
 		    do_insertfile(ISSET(MULTIBUFFER));
@@ -3072,6 +3079,7 @@ int main(int argc, char *argv[])
 		    kbinput = KEY_HOME;
 		    break;
 		case 'F':
+		case 'Y':		/* End Key in Hurd Console */
 		    kbinput = KEY_END;
 		    break;
 		default: