diff --git a/SrcBehaviorLoader/PluginLoader.cpp b/SrcBehaviorLoader/PluginLoader.cpp
index 7af1339ebda2d6c258fece89a9efbb591283a609..703eafff128827eeafcd2d4b3d877428c0cd9756 100644
--- a/SrcBehaviorLoader/PluginLoader.cpp
+++ b/SrcBehaviorLoader/PluginLoader.cpp
@@ -218,14 +218,14 @@ bool PluginLoader::loadPluginFromFilename(QString const& filename)
 {
 	bool retval = false;
 	if (m_PluginLoader->isLoaded()) {
-
 		m_PluginLoader->unload();
 	}
 
 	bool isLib = QLibrary::isLibrary(filename);
 
 	if (isLib) {
-
+		
+		auto oldPath = PluginLoader::addDllPath(filename.toStdString());
 		m_PluginLoader->setFileName(filename);
 
 		readMetaDataFromPlugin();
@@ -237,7 +237,9 @@ bool PluginLoader::loadPluginFromFilename(QString const& filename)
         if (!m_PluginLoader->isLoaded())
 		{
 		    qWarning() << ss.c_str();
+			retval = false;
 		}
+		PluginLoader::delDllPath(oldPath);
 	}
 	else {
 		retval = false;