Index: geki3-1.0.3/src/misc.c
===================================================================
--- geki3-1.0.3.orig/src/misc.c	2002-08-05 12:35:58.000000000 +0200
+++ geki3-1.0.3/src/misc.c	2006-05-09 20:39:49.000000000 +0200
@@ -131,7 +131,7 @@
   case 100:
     UnLoadStageData();
     Root->Cnt = -1;
-    if (Root->MainFlag == MainClear) {
+    if (no != 1) {
       Root->Stage ++;
       if (Root->Stage == 4) {
 	Root->Stage = 0;
Index: geki3-1.0.3/src/main.c
===================================================================
--- geki3-1.0.3.orig/src/main.c	2006-05-09 20:39:45.000000000 +0200
+++ geki3-1.0.3/src/main.c	2006-05-09 20:39:49.000000000 +0200
@@ -29,6 +29,11 @@
         case KeyUp:    Root->Key |= KUp;    break;
         case KeyDown:  Root->Key |= KDown;  break;
         case KeyPause: Root->Key |= KPause; break;
+        case KeyQuit:
+          if (Root->MainFlag != MainOpening) {
+            Root->MainFlag = MainOpening;
+          }
+          break;
         default:                            break;
         }
         break;
