diff --git a/src/browser.c b/src/browser.c
index a67960afacfe5b3f52adaf34f2c42a9aa953f531..4a39db3b5dcddc2f41f14ef626ccc3cde10b6800 100644
--- a/src/browser.c
+++ b/src/browser.c
@@ -297,6 +297,9 @@ void drawBrowser(int change) {
       attroff(A_REVERSE);
   }
 
+ /* move cursor to selected row for accessibility */
+  move(selected+2, 0);
+
  /* remove reference to parent dir */
   if(bcur == &ref)
     bcur = ref.next;
diff --git a/src/delete.c b/src/delete.c
index 043e4faf96ef83a10f2a5e10d8d131b436840278..29463c85c601215b3761f5671ddd2880129c312d 100644
--- a/src/delete.c
+++ b/src/delete.c
@@ -48,6 +48,8 @@ void drawConfirm(struct dir *del, int sel) {
     attron(A_REVERSE);
   ncaddstr(4, 31, "don't ask me again");
   attroff(A_REVERSE);
+
+  ncmove(4, sel == 0 ? 15 : sel == 1 ? 24 : 31);
   
   refresh();
 }
diff --git a/src/ncdu.h b/src/ncdu.h
index 5b533207d45bbc53522a55bf5f14403f3c51f500..e6a06c7abfbe6a44e2f2d17d93fdc147f9c1c293 100644
--- a/src/ncdu.h
+++ b/src/ncdu.h
@@ -84,6 +84,7 @@
 /* check nccreate in util.c for more info on these defines */
 #define ncaddstr(r, c, s) mvaddstr(subwinr+(r), subwinc+(c), s)
 #define  ncaddch(r, c, s)  mvaddch(subwinr+(r), subwinc+(c), s)
+#define   ncmove(r, c)        move(subwinr+(r), subwinc+(c))
 
 
 /*