diff --git a/src/dir_common.c b/src/dir_common.c
index 46ebb75d5731e589517af4a61c33a961c70f2ef0..a670069c1101eb7f6cf78b2adb5a327b8c92217d 100644
--- a/src/dir_common.c
+++ b/src/dir_common.c
@@ -211,7 +211,7 @@ void dir_draw() {
 int dir_key(int ch) {
   if(dir_fatalerr)
     return 1;
-  if(confirm_quit_while_scanning_stage_1_passed) {
+  if(confirm_quit && confirm_quit_while_scanning_stage_1_passed) {
     if (ch == 'y'|| ch == 'Y') {
       return 1;
     } else {
@@ -219,8 +219,11 @@ int dir_key(int ch) {
       return 0;
     }
   } else if(ch == 'q') {
-    confirm_quit_while_scanning_stage_1_passed = 1;
-    return 0;
+    if(confirm_quit) {
+      confirm_quit_while_scanning_stage_1_passed = 1;
+      return 0;
+    } else
+      return 1;
   }
   return 0;
 }