diff --git a/src/uifc/uifc32.c b/src/uifc/uifc32.c
index beba9f8f094d01d5ff9f97c0340fa05d49df6ce9..fb8e6c6d3f6ec42b1482bae305c8ede393a16a63 100644
--- a/src/uifc/uifc32.c
+++ b/src/uifc/uifc32.c
@@ -1712,8 +1712,9 @@ int ulist(int mode, int left, int top, int width, int *cur, int *bar
 							}
 							return(-1);
 						case CTRL_F:			/* find */
+						case CTRL_G:
 							if(/*!(api->mode&UIFC_NOCTRL)*/1) { // No no, *this* control key is fine!
-								if (api->input(WIN_MID|WIN_SAV, 0, 0, "Find", search, sizeof(search), K_EDIT) > 0) {
+								if (gotkey == CTRL_G || api->input(WIN_MID|WIN_SAV, 0, 0, "Find", search, sizeof(search), K_EDIT) > 0) {
 									for (j = (*cur) + 1; j != *cur; j++, j = option[j] == NULL ? 0 : j) {   /* a = search count */
 										if (strcasestr(option[j], search) != NULL) {
 											// Copy/pasted from search above.