diff --git a/Lib/test/test_curses.py b/Lib/test/test_curses.py
index 4be2029..2615ffb 100644
--- a/Lib/test/test_curses.py
+++ b/Lib/test/test_curses.py
@@ -259,6 +259,10 @@
         if curses.LINES != lines - 1 or curses.COLS != cols + 1:
             raise RuntimeError("Expected resizeterm to update LINES and COLS")
 
+def test_issue6243(stdscr):
+    curses.ungetch(1025)
+    stdscr.getkey()
+
 def main(stdscr):
     curses.savetty()
     try:
@@ -266,6 +270,7 @@
         window_funcs(stdscr)
         test_userptr_without_set(stdscr)
         test_resize_term(stdscr)
+        test_issue6243(stdscr)
     finally:
         curses.resetty()
 
diff --git a/Modules/_cursesmodule.c b/Modules/_cursesmodule.c
index c7d3778..da19216 100644
--- a/Modules/_cursesmodule.c
+++ b/Modules/_cursesmodule.c
@@ -890,14 +890,17 @@
     /* getch() returns ERR in nodelay mode */
     PyErr_SetString(PyCursesError, "no input");
     return NULL;
-  } else if (rtn<=255)
+  } else if (rtn<=255) {
     return Py_BuildValue("C", rtn);
-  else
+  } else {
+    const char *knp;
 #if defined(__NetBSD__)
-    return PyUnicode_FromString(unctrl(rtn));
+    knp = unctrl(rtn);
 #else
-    return PyUnicode_FromString((const char *)keyname(rtn));
+    knp = keyname(rtn);
 #endif
+    return PyUnicode_FromString((knp == NULL) ? "" : knp);
+  }
 }
 
 static PyObject *
