diff --git a/ze_icecap_escape_act2_b3s_fix/scripting/ze_icecap_escape_act2_b3s_fix.sp b/ze_icecap_escape_act2_b3s_fix/scripting/ze_icecap_escape_act2_b3s_fix.sp
index db1bddf1..a4e09e64 100644
--- a/ze_icecap_escape_act2_b3s_fix/scripting/ze_icecap_escape_act2_b3s_fix.sp
+++ b/ze_icecap_escape_act2_b3s_fix/scripting/ze_icecap_escape_act2_b3s_fix.sp
@@ -9,6 +9,8 @@
 #include <cstrike>
 #include <sdkhooks>
 
+bool g_b_is_icecap_act2 = false;
+
 public Plugin myinfo = 
 {
 	name = "icecap_crash_fix_from_roundend",
@@ -20,8 +22,17 @@ public Plugin myinfo =
 //----------------------------------------------------------------------------------------------------
 // Purpose: 
 //----------------------------------------------------------------------------------------------------
+
+public void OnMapStart()
+{
+    char map[PLATFORM_MAX_PATH];
+    GetCurrentMap(map, PLATFORM_MAX_PATH);
+    g_b_is_icecap_act2 = StrEqual(map, "ze_icecap_escape_act2_b3s_fix", false);
+}
+
 public void OnPluginStart()
 {
+    OnMapStart();
     //this makes absolutely no sense, there is no point whatso ever in fucking doing this. 
     //but without this i get the complaint [SM] Plugin maps/test_icecap.smx failed to load: Unable to load plugin (invalid method code end).
     //is really makes absolutely zero sense why this would be needed
@@ -40,11 +51,17 @@ public void OnPluginStart()
 
 public Action Command_ztele(int client, const char[] Command, int Args)
 {
+    if (!g_b_is_icecap_act2)
+    {
+        return Plugin_Handled;
+    }
+
     if (IsValidClient(client))
 	{
         int userid = GetClientUserId(client);
         ServerCommand("sm_forceinputplayer #%i Clearparent", userid);
     }
+    return Plugin_Handled;
 }
 
 public void OnClientPostAdminCheck(int client)
@@ -61,6 +78,10 @@ stock bool IsValidClient(int client)
 //right before round end deactivate gameUI and unparent players from moving vehicles.
 public void OnRoundEnd(Handle event, const char[] name, bool dontBroadcast)
 {
+    if (!g_b_is_icecap_act2)
+    {
+        return;
+    }
     //its the correct map if it contains icecap_escape_act2
     ServerCommand("sm_forceinput Game Deactivate; sm_forceinput Game2 Deactivate;sm_forceinput Game3 Deactivate;sm_forceinput Game4 Deactivate; sm_forceinput Gameleft Deactivate; sm_forceinput Gameright Deactivate; sm_forceinput Gameseat Deactivate; sm_forceinput Gameseat2 Deactivate; sm_forceinput Gameseat3 Deactivate; sm_forceinput Gameseat4 Deactivate; sm_forceinput Gameseat5 Deactivate; sm_forceinput Gameseat6 Deactivate;");
     ServerCommand("sm_forceinput player Clearparent;");
@@ -69,6 +90,10 @@ public void OnRoundEnd(Handle event, const char[] name, bool dontBroadcast)
 
 public void trigger_teleport(const char[] output, int entity_index, int client, float delay)
 {
+    if (!g_b_is_icecap_act2)
+    {
+        return;
+    }
     if (IsValidClient(client))
     {
         int userid = GetClientUserId(client);