diff --git a/desktop_version/src/Game.cpp b/desktop_version/src/Game.cpp
index d678f122..572fb019 100644
--- a/desktop_version/src/Game.cpp
+++ b/desktop_version/src/Game.cpp
@@ -391,6 +391,7 @@ void Game::init(void)
 
     disablepause = false;
     disableaudiopause = false;
+    disabletemporaryaudiopause = true;
     inputdelay = false;
 }
 
@@ -5193,6 +5194,10 @@ void Game::customloadquick(std::string savfile)
         {
             map.customshowmm = help.Int(pText);
         }
+        else if (SDL_strcmp(pKey, "disabletemporaryaudiopause") == 0)
+        {
+            disabletemporaryaudiopause = help.Int(pText);
+        }
 
     }
 
@@ -5674,6 +5679,8 @@ bool Game::customsavequick(std::string savfile)
 
     xml::update_tag(msgs, "showminimap", (int) map.customshowmm);
 
+    xml::update_tag(msgs, "disabletemporaryaudiopause", (int) disabletemporaryaudiopause);
+
     std::string summary = savearea + ", " + timestring();
     xml::update_tag(msgs, "summary", summary.c_str());
 
diff --git a/desktop_version/src/Game.h b/desktop_version/src/Game.h
index 1138343d..07a0bd8b 100644
--- a/desktop_version/src/Game.h
+++ b/desktop_version/src/Game.h
@@ -475,6 +475,7 @@ public:
 
     bool disablepause;
     bool disableaudiopause;
+    bool disabletemporaryaudiopause;
     bool inputdelay;
 };
 
diff --git a/desktop_version/src/KeyPoll.cpp b/desktop_version/src/KeyPoll.cpp
index 8db01e09..b7d1ceef 100644
--- a/desktop_version/src/KeyPoll.cpp
+++ b/desktop_version/src/KeyPoll.cpp
@@ -327,7 +327,7 @@ void KeyPoll::Poll(void)
 				if (!game.disablepause)
 				{
 					isActive = true;
-					if (!game.disableaudiopause)
+					if (!game.disableaudiopause || !game.disabletemporaryaudiopause)
 					{
 						music.resume();
 						music.resumeef();
@@ -350,7 +350,7 @@ void KeyPoll::Poll(void)
 				if (!game.disablepause)
 				{
 					isActive = false;
-					if (!game.disableaudiopause)
+					if (!game.disableaudiopause || !game.disabletemporaryaudiopause)
 					{
 						music.pause();
 						music.pauseef();
diff --git a/desktop_version/src/Script.cpp b/desktop_version/src/Script.cpp
index 85419341..9fd4947f 100644
--- a/desktop_version/src/Script.cpp
+++ b/desktop_version/src/Script.cpp
@@ -326,6 +326,17 @@ void scriptclass::run(void)
 			{
 				graphics.showcutscenebars = false;
 			}
+			if (words[0] == "audiopause")
+			{
+				if (words[1] == "on")
+				{
+					game.disabletemporaryaudiopause = false;
+				}
+				else if (words[1] == "off")
+				{
+					game.disabletemporaryaudiopause = true;
+				}
+			}
 			if (words[0] == "untilbars")
 			{
 				if (graphics.showcutscenebars)
@@ -3465,6 +3476,8 @@ void scriptclass::hardreset(void)
 	game.activeactivity = -1;
 	game.act_fade = 5;
 
+	game.disabletemporaryaudiopause = true;
+
 	//dwgraphicsclass
 	graphics.backgrounddrawn = false;
 	graphics.textbox.clear();