diff --git a/pcbnew/python/scripting/pcb_scripting_tool.cpp b/pcbnew/python/scripting/pcb_scripting_tool.cpp
index 3d422b97a9..fd4fe11745 100644
--- a/pcbnew/python/scripting/pcb_scripting_tool.cpp
+++ b/pcbnew/python/scripting/pcb_scripting_tool.cpp
@@ -67,7 +67,7 @@ bool SCRIPTING_TOOL::Init()
         PyDict_SetItemString( sys_mod, "_pcbnew", mod );
         Py_DECREF( mod );
 
-        callLoadPlugins();
+        // plugins will be loaded later via ReloadPlugins()
     }
 
     return true;
diff --git a/scripting/kicadplugins.i b/scripting/kicadplugins.i
index c926bd1799..8f5bb235e9 100644
--- a/scripting/kicadplugins.i
+++ b/scripting/kicadplugins.i
@@ -253,7 +253,8 @@ def LoadPlugins(bundlepath=None, userpath=None, thirdpartypath=None):
         if not os.path.isdir( plugins_dir ):
             continue
 
-        sys.path.append( plugins_dir )
+        if plugins_dir not in sys.path:
+            sys.path.append( plugins_dir )
 
         for module in os.listdir(plugins_dir):
             fullPath = os.path.join( plugins_dir, module )