--- com32/menu/menumain.c.orig	2012-07-19 09:29:55.000000000 -0500
+++ com32/menu/menumain.c	2012-09-19 23:41:55.273145463 -0500
@@ -895,6 +895,7 @@
 	    break;
 
 	case KEY_ENTER:
+	case ' ':
 	case KEY_CTRL('J'):
 	    key_timeout = 0;	/* Cancels timeout */
 	    if (me->passwd) {
@@ -915,7 +916,6 @@
 		    done = 0;
 		    clear = 2;
 		    cm = me->submenu;
-		    entry = cm->curentry;
 		    top = cm->curtop;
 		    break;
 		case MA_QUIT:
@@ -984,7 +984,6 @@
 	case KEY_RIGHT:
 	case KEY_CTRL('F'):
 	case '>':
-	case ' ':
 	    entry += MENU_ROWS;
 	    top += MENU_ROWS;
 	    while (entry < cm->nentries - 1
@@ -1041,6 +1040,7 @@
 	    break;
 
 	case KEY_TAB:
+	    me = cm->menu_entries[0];
 	    if (cm->allowedit && me->action == MA_CMD) {
 		int ok = 1;
 
@@ -1068,12 +1068,12 @@
 	    break;
 	case KEY_CTRL('C'):	/* Ctrl-C */
 	case KEY_ESC:		/* Esc */
-	    if (cm->parent) {
+/*	    if (cm->parent) {
 		cm = cm->parent;
 		clear = 2;
 		entry = cm->curentry;
 		top = cm->curtop;
-	    } else if (cm->allowedit) {
+	    } else*/ if (cm->allowedit) {
 		done = 1;
 		clear = 1;
 		key_timeout = 0;
