diff --git a/src/heretic/mn_menu.c b/src/heretic/mn_menu.c
index e10302965d..5b6158e41f 100644
--- a/src/heretic/mn_menu.c
+++ b/src/heretic/mn_menu.c
@@ -2221,7 +2221,7 @@ boolean MN_Responder(event_t * event)
     if (!MenuActive)
     {
         // [crispy] don't pop up the menu on other keys during a demo
-        if (key == key_menu_activate) //|| gamestate == GS_DEMOSCREEN || demoplayback)
+        if (key == key_menu_activate || gamestate == GS_DEMOSCREEN || (demoplayback && !singledemo))
         {
             MN_ActivateMenu();
             return (true);
diff --git a/src/hexen/mn_menu.c b/src/hexen/mn_menu.c
index 738c594e13..33d73e97e8 100644
--- a/src/hexen/mn_menu.c
+++ b/src/hexen/mn_menu.c
@@ -2225,7 +2225,7 @@ boolean MN_Responder(event_t * event)
     if (!MenuActive)
     {
         // [crispy] don't pop up the menu on other keys during a demo
-        if (key == key_menu_activate) //|| gamestate == GS_DEMOSCREEN || demoplayback)
+        if (key == key_menu_activate || gamestate == GS_DEMOSCREEN || (demoplayback && !singledemo))
         {
             MN_ActivateMenu();
             return (true);