diff --git a/Core/FormBrowser.cs b/Core/FormBrowser.cs
index d6122c78..d0192145 100644
--- a/Core/FormBrowser.cs
+++ b/Core/FormBrowser.cs
@@ -111,8 +111,11 @@ private void Browser_LoadingStateChanged(object sender, LoadingStateChangedEvent
         private void Browser_FrameLoadEnd(object sender, FrameLoadEndEventArgs e){
             if (e.Frame.IsMain){
                 ScriptLoader.ExecuteFile(e.Frame,"code.js");
-                ScriptLoader.ExecuteFile(e.Frame,PluginManager.PluginScriptFile);
-                plugins.ExecutePlugins(e.Frame,PluginEnvironment.Browser);
+
+                if (plugins.HasAnyPlugin(PluginEnvironment.Browser)){
+                    ScriptLoader.ExecuteFile(e.Frame,PluginManager.PluginBrowserScriptFile);
+                    plugins.ExecutePlugins(e.Frame,PluginEnvironment.Browser);
+                }
             }
         }
 
diff --git a/Plugins/PluginManager.cs b/Plugins/PluginManager.cs
index d4b7c63e..73f5c1f5 100644
--- a/Plugins/PluginManager.cs
+++ b/Plugins/PluginManager.cs
@@ -36,6 +36,10 @@ public int CountPluginByGroup(PluginGroup group){
             return plugins.Count(plugin => plugin.Group == group);
         }
 
+        public bool HasAnyPlugin(PluginEnvironment environment){
+            return plugins.Any(plugin => plugin.Environments.HasFlag(environment));
+        }
+
         public void Reload(){
             HashSet<Plugin> prevPlugins = new HashSet<Plugin>(plugins);
             plugins.Clear();
diff --git a/Resources/ScriptLoader.cs b/Resources/ScriptLoader.cs
index 3a979e01..dc84ccca 100644
--- a/Resources/ScriptLoader.cs
+++ b/Resources/ScriptLoader.cs
@@ -19,11 +19,11 @@ public static string LoadResource(string name){
         }
 
         public static void ExecuteFile(ChromiumWebBrowser browser, string file){
-            ExecuteScript(browser,LoadResource(file),"root:"+Path.GetFileNameWithoutExtension(file));
+            ExecuteScript(browser,LoadResource(file),GetRootIdentifier(file));
         }
 
         public static void ExecuteFile(IFrame frame, string file){
-            ExecuteScript(frame,LoadResource(file),"root:"+Path.GetFileNameWithoutExtension(file));
+            ExecuteScript(frame,LoadResource(file),GetRootIdentifier(file));
         }
 
         public static void ExecuteScript(ChromiumWebBrowser browser, string script, string identifier){
@@ -39,5 +39,9 @@ public static void ExecuteScript(IFrame frame, string script, string identifier)
 
             frame.ExecuteJavaScriptAsync(script,UrlPrefix+identifier,1);
         }
+
+        public static string GetRootIdentifier(string file){
+            return "root:"+Path.GetFileNameWithoutExtension(file);
+        }
     }
 }