diff --git a/gui/action.cpp b/gui/action.cpp
index 803d313..711f645 100644
--- a/gui/action.cpp
+++ b/gui/action.cpp
@@ -1169,9 +1169,8 @@
 		if (arg == "backup") {
 			string Backup_Name;
 			DataManager::GetValue(TW_BACKUP_NAME, Backup_Name);
-			string auto_gen = gui_lookup("auto_gen", "(Auto Generate)");
-			string curr_date = gui_lookup("curr_date", "(Current Date)");
-			if (Backup_Name == "(Auto Generate)" || Backup_Name == "(Current Date)" || Backup_Name == "0" || Backup_Name == "(" || PartitionManager.Check_Backup_Name(true) == 0) {
+			string auto_gen = gui_lookup("auto_generate", "(Auto Generate)");
+			if (Backup_Name == auto_gen || Backup_Name == gui_lookup("curr_date", "(Current Date)") || Backup_Name == "0" || Backup_Name == "(" || PartitionManager.Check_Backup_Name(true) == 0) {
 				ret = PartitionManager.Run_Backup();
 			}
 			else {
diff --git a/gui/pages.cpp b/gui/pages.cpp
index 932be6b..ddf53a9 100644
--- a/gui/pages.cpp
+++ b/gui/pages.cpp
@@ -687,6 +687,7 @@
 	xml_node<>* parent;
 	xml_node<>* child;
 	std::string resource_source;
+	int ret = 0;
 
 	if (languageFile) {
 		printf("parsing languageFile\n");
@@ -717,9 +718,10 @@
 	if (child)
 		mResources->LoadResources(child, package, resource_source);
 	else
-		return -1;
+		ret = -1;
+	DataManager::SetValue("tw_backup_name", gui_lookup("auto_generate", "(Auto Generate)"));
 	lang.clear();
-	return 0;
+	return ret;
 }
 
 int PageSet::Load(ZipArchive* package, char* xmlFile, char* languageFile, char* baseLanguageFile)
diff --git a/partitionmanager.cpp b/partitionmanager.cpp
index 5dd2ce5..00c4f8f 100644
--- a/partitionmanager.cpp
+++ b/partitionmanager.cpp
@@ -447,7 +447,7 @@
 			// and -_.{}[]
 		} else {
 			if (Display_Error)
-				gui_msg(Msg(msg::kError, "backup_name_invalid=Backup name '{1}' contains invalid character: '{1}'")(backup_name)((char)cur_char));
+				gui_msg(Msg(msg::kError, "backup_name_invalid=Backup name '{1}' contains invalid character: '{1}'")(Backup_Name)((char)cur_char));
 			return -3;
 		}
 	}
@@ -682,9 +682,9 @@
 
 	DataManager::GetValue(TW_BACKUPS_FOLDER_VAR, Backup_Folder);
 	DataManager::GetValue(TW_BACKUP_NAME, Backup_Name);
-	if (Backup_Name == gui_parse_text("{@current_date}")) {
+	if (Backup_Name == gui_lookup("curr_date", "(Current Date)")) {
 		Backup_Name = TWFunc::Get_Current_Date();
-	} else if (Backup_Name == gui_parse_text("{@auto_generate}") || Backup_Name == "0" || Backup_Name.empty()) {
+	} else if (Backup_Name == gui_lookup("auto_generate", "(Auto Generate)") || Backup_Name == "0" || Backup_Name.empty()) {
 		TWFunc::Auto_Generate_Backup_Name();
 		DataManager::GetValue(TW_BACKUP_NAME, Backup_Name);
 	}
