Index: AE/Installer/trunk/source/installer.cpp
===================================================================
--- AE/Installer/trunk/source/installer.cpp	(revision 548)
+++ AE/Installer/trunk/source/installer.cpp	(revision 549)
@@ -648,4 +648,11 @@
 
 	ofstream BSLlog("BSL.log");
+	if(exists("../GameDataFolder/BSLBackup/")) {
+		remove_all("../GameDataFolder/BSLBackup/");
+	}
+	else {
+		create_directory("../GameDataFolder/BSLBackup/");
+	}
+	copy("../GameDataFolder/IGMD/", "../GameDataFolder/BSLBackup/");
 	for ( directory_iterator dir_itr( "../GameDataFolder/IGMD/" ), end_itr;
 		 dir_itr != end_itr;
@@ -660,5 +667,5 @@
 		for (unsigned int j = 0; j < globalPackages.size(); ++j) {				//looking in the global packages
 			if (globalPackages[j].modStringName == installedMods[i]) {	//for a mod that has BSL in it
-				if(globalPackages[j].hasBSL)) break; //skip non-BSL
+				if(globalPackages[j].hasBSL) break; //skip non-BSL
 				if( exists( "packages/" + globalPackages[j].modStringName + "/BSL/" ) ) {
 					copyBSL("packages/" + globalPackages[j].modStringName + "/BSL", BSLfolders, globalPackages[j] );
@@ -729,5 +736,5 @@
 				BSLlog << "Testing " << dir_itr->path().string() << " HasBSL: " << pkg.hasBSL << " HasAddon: " << pkg.hasAddon << "\n";
 				int skip_folder = 0;
-				if(!pkg.HasAddon) {
+				if(!pkg.hasAddon) {
 					for(unsigned int k = 0; k < BSLfolders.size(); k++)		{//iterate through already found BSL folders	
 						BSLlog << "testing " << dir_itr->path().filename() << " vs " << BSLfolders[k] << "\n";
