diff --git a/ChangeLog b/ChangeLog
index 7e85e542bbcfd2ff66118807e13b6a9204dfc6aa..8d95220a013559d63ff4a67eaf608ba27b487657 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -306,7 +306,8 @@ CVS code -
 	  realloc(). (DLR)
   get_accepted_kbinput()
 	- Add proper support for the keypad values and escape sequences
-	  generated by the NumLock glitch. (DLR)
+	  generated by the NumLock glitch and by certain keys on the
+	  numeric keypad. (DLR)
   get_escape_seq_kbinput()
 	- Add proper support for the keypad values and escape sequences
 	  generated by the NumLock glitch. (DLR)
diff --git a/src/winio.c b/src/winio.c
index cd129db9c37bd16e8452d1ca3cbf72b5a2629e84..a6f4430bb8c8272474e934b787e10bba7d1fd9c7 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -283,15 +283,33 @@ int get_translated_kbinput(int kbinput, int *es
 			case KEY_ENTER:
 			    retval = NANO_ENTER_KEY;
 			    break;
+			case KEY_A1:	/* Home (7) on numeric keypad
+					 * with NumLock off. */
+			    retval = NANO_HOME_KEY;
+			    break;
+			case KEY_A3:	/* PageUp (9) on numeric keypad
+					 * with NumLock off. */
+			    retval = NANO_PREVPAGE_KEY;
+			    break;
 			case KEY_B2:	/* Center (5) on numeric keypad
-					 * with NumLock off on xterm. */
+					 * with NumLock off. */
+			    retval = ERR;
+			    break;
+			case KEY_C1:	/* End (1) on numeric keypad
+					 * with NumLock off. */
+			    retval = NANO_END_KEY;
+			    break;
+			case KEY_C3:	/* PageDown (4) on numeric
+					 * keypad with NumLock off. */
+			    retval = NANO_NEXTPAGE_KEY;
+			    break;
 #ifdef KEY_BEG
 			/* Slang doesn't support KEY_BEG. */
 			case KEY_BEG:	/* Center (5) on numeric keypad
-					 * with NumLock off on Eterm. */
-#endif
+					 * with NumLock off. */
 			    retval = ERR;
 			    break;
+#endif
 #ifdef KEY_END
 			/* HP-UX 10 and 11 don't support KEY_END. */
 			case KEY_END: