--- /dev/null
+diff -Nur dialog-0.69.orig/dialogInt.h dialog-0.69/dialogInt.h
+--- dialog-0.69.orig/dialogInt.h Tue Jan 16 13:07:37 1996
++++ dialog-0.69/dialogInt.h Wed Oct 31 16:20:43 2001
+@@ -174,7 +174,14 @@
+ wmove((win),(y),(x)); \
+ waddch((win),ACS_UARROW); waddstr((win),"(-)"); } while (0)
+
+-#define DIALOG_NOARROW(win,y,x) do { \
++#define DIALOG_NODOWNARROW(win,y,x) do { \
++ int i; \
++ wattrset((win),menubox_border_attr); \
++ wmove((win),(y),(x)); \
++ for (i=0; i<4; i++) \
++ waddch((win),ACS_HLINE); } while(0)
++
++#define DIALOG_NOUPARROW(win,y,x) do { \
+ int i; \
+ wattrset((win),menubox_attr); \
+ wmove((win),(y),(x)); \
+diff -Nur dialog-0.69.orig/list.c dialog-0.69/list.c
+--- dialog-0.69.orig/list.c Wed Oct 31 15:54:25 2001
++++ dialog-0.69/list.c Wed Oct 31 16:20:57 2001
+@@ -337,11 +337,11 @@
+ if (first->prev)
+ DIALOG_UPARROW(dialog, box_y, box_x+check_x+3);
+ else
+- DIALOG_NOARROW(dialog, box_y, box_x+check_x+3);
++ DIALOG_NOUPARROW(dialog, box_y, box_x+check_x+3);
+ if (last->next)
+ DIALOG_DOWNARROW(dialog, box_y+list_height+1, box_x+check_x+3);
+ else
+- DIALOG_NOARROW(dialog, box_y+list_height+1, box_x+check_x+3);
++ DIALOG_NODOWNARROW(dialog, box_y+list_height+1, box_x+check_x+3);
+
+ }
+
--- /dev/null
+diff -Nur dialog-0.69.orig/list.c dialog-0.69/list.c
+--- dialog-0.69.orig/list.c Tue Jan 16 11:34:36 1996
++++ dialog-0.69/list.c Wed Oct 31 15:54:25 2001
+@@ -235,7 +235,7 @@
+ if (!new) {
+ if ( (key>='1' && key<='9')
+ || (key>=DIALOG_M_EVENT && key-DIALOG_M_EVENT<' ') ) {
+- key -= (key>DIALOG_M_EVENT ? DIALOG_M_EVENT : '1');
++ key -= (key>=DIALOG_M_EVENT ? DIALOG_M_EVENT : '1');
+ key=min(key,max_choice);
+ for (new=first; key && new->next; new=new->next)
+ key--;