diff --git a/ChangeLog b/ChangeLog
index 6977cf25d9b42cbeafb3fa7f68df720200824fd6..ed5d936253e8be7ac1908ebd855339ef5ffb404b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -325,6 +325,10 @@ CVS code -
 	  the number of lines and characters in the file or selection,
 	  as wc does. (DLR)
 - winio.c:
+  get_escape_seq_kbinput()
+	- Fix typo preventing the VT100/VT220/VT320/xterm/rxvt escape
+	  sequence for ',' on the numeric keypad with NumLock off from
+	  being interpreted properly. (DLR)
   get_word_kbinput()
 	- Multiply the entered digits by hexadecimal numbers instead of
 	  decimal numbers for clarity, rename to get_unicode_kbinput(),
diff --git a/src/winio.c b/src/winio.c
index 30789484c55584dc7defed27dd51742ee3bc096a..aef04fac115e9c6ee78e87ad3d47eb48465954df 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -738,7 +738,7 @@ int get_escape_seq_kbinput(const int *seq, size_t seq_len, bool
 		    case 'l': /* Esc O l == ',' on numeric keypad with
 			       * NumLock off on VT100/VT220/VT320/xterm/
 			       * rxvt. */
-			retval = '+';
+			retval = ',';
 			break;
 		    case 'm': /* Esc O m == '-' on numeric keypad with
 			       * NumLock off on VT100/VT220/VT320/xterm/