diff --git a/gui/theme/common/languages/en.xml b/gui/theme/common/languages/en.xml
index d911312..72ef5af 100644
--- a/gui/theme/common/languages/en.xml
+++ b/gui/theme/common/languages/en.xml
@@ -19,6 +19,7 @@
 		<string name="recovery">Recovery</string>
 		<string name="cache">Cache</string>
 		<string name="data">Data</string>
+		<string name="data_backup">Data (excl. storage)</string>
 		<string name="sdcard">SDCard</string>
 		<string name="internal">Internal Storage</string>
 		<string name="microsd">Micro SDCard</string>
@@ -595,6 +596,7 @@
 		<string name="remove_all">Removing all files under '{1}'</string>
 		<string name="wiping_data">Wiping data without wiping /data/media ...</string>
 		<string name="backing_up">Backing up {1}...</string>
+		<string name="backup_storage_warning">Backups of {1} do not include any files in internal storage such as pictures or downloads.</string>
 		<string name="backing">Backing Up</string>
 		<string name="backup_size">Backup file size for '{1}' is 0 bytes.</string>
 		<string name="datamedia_fs_restore">WARNING: This /data backup was made with {1} file system! The backup may not boot unless you change back to {1}.</string>
diff --git a/partition.cpp b/partition.cpp
index 4644388..5cf0179 100644
--- a/partition.cpp
+++ b/partition.cpp
@@ -2210,7 +2210,8 @@
 
 	Backup_FileName = Backup_Name + "." + Current_File_System + ".win";
 	Full_FileName = part_settings->Backup_Folder + "/" + Backup_FileName;
-	tar.has_data_media = Has_Data_Media;
+	if (Has_Data_Media)
+		gui_msg(Msg(msg::kWarning, "backup_storage_warning=Backups of {1} do not include any files in internal storage such as pictures or downloads.")(Display_Name));
 	tar.part_settings = part_settings;
 	tar.backup_exclusions = &backup_exclusions;
 	tar.setdir(Backup_Path);
diff --git a/partitionmanager.cpp b/partitionmanager.cpp
index f94b6aa..9afc677 100644
--- a/partitionmanager.cpp
+++ b/partitionmanager.cpp
@@ -2383,8 +2383,8 @@
 	TWPartition* part = PartitionManager.Find_Partition_By_Path(path);
 	if (part) {
 		if (part->Is_Adopted_Storage) {
+			part->Backup_Display_Name = part->Display_Name + " - " + gui_lookup("data_backup", "Data (excl. storage)");
 			part->Display_Name = part->Display_Name + " - " + gui_lookup("data", "Data");
-			part->Backup_Display_Name = part->Display_Name;
 			part->Storage_Name = part->Storage_Name + " - " + gui_lookup("adopted_storage", "Adopted Storage");
 		} else {
 			part->Display_Name = gui_lookup(resource_name, default_value);
@@ -2395,6 +2395,22 @@
 	}
 }
 
+void TWPartitionManager::Translate_Partition(const char* path, const char* resource_name, const char* default_value, const char* storage_resource_name, const char* storage_default_value, const char* backup_name, const char* backup_default) {
+	TWPartition* part = PartitionManager.Find_Partition_By_Path(path);
+	if (part) {
+		if (part->Is_Adopted_Storage) {
+			part->Backup_Display_Name = part->Display_Name + " - " + gui_lookup(backup_name, backup_default);
+			part->Display_Name = part->Display_Name + " - " + gui_lookup("data", "Data");
+			part->Storage_Name = part->Storage_Name + " - " + gui_lookup("adopted_storage", "Adopted Storage");
+		} else {
+			part->Display_Name = gui_lookup(resource_name, default_value);
+			part->Backup_Display_Name = gui_lookup(backup_name, backup_default);
+			if (part->Is_Storage)
+				part->Storage_Name = gui_lookup(storage_resource_name, storage_default_value);
+		}
+	}
+}
+
 void TWPartitionManager::Translate_Partition_Display_Names() {
 	LOGINFO("Translating partition display names\n");
 	Translate_Partition("/system", "system", "System");
@@ -2402,17 +2418,19 @@
 	Translate_Partition("/vendor", "vendor", "Vendor");
 	Translate_Partition("/vendor_image", "vendor_image", "Vendor Image");
 	Translate_Partition("/cache", "cache", "Cache");
-	Translate_Partition("/data", "data", "Data", "internal", "Internal Storage");
 	Translate_Partition("/boot", "boot", "Boot");
 	Translate_Partition("/recovery", "recovery", "Recovery");
 	if (!datamedia) {
+		Translate_Partition("/data", "data", "Data", "internal", "Internal Storage");
 		Translate_Partition("/sdcard", "sdcard", "SDCard", "sdcard", "SDCard");
 		Translate_Partition("/internal_sd", "sdcard", "SDCard", "sdcard", "SDCard");
 		Translate_Partition("/internal_sdcard", "sdcard", "SDCard", "sdcard", "SDCard");
 		Translate_Partition("/emmc", "sdcard", "SDCard", "sdcard", "SDCard");
+	} else {
+		Translate_Partition("/data", "data", "Data", "internal", "Internal Storage", "data_backup", "Data (excl. storage)");
 	}
-	Translate_Partition("/external_sd", "microsd", "Micro SDCard", "microsd", "Micro SDCard");
-	Translate_Partition("/external_sdcard", "microsd", "Micro SDCard", "microsd", "Micro SDCard");
+	Translate_Partition("/external_sd", "microsd", "Micro SDCard", "microsd", "Micro SDCard", "data_backup", "Data (excl. storage)");
+	Translate_Partition("/external_sdcard", "microsd", "Micro SDCard", "microsd", "Micro SDCard", "data_backup", "Data (excl. storage)");
 	Translate_Partition("/usb-otg", "usbotg", "USB OTG", "usbotg", "USB OTG");
 	Translate_Partition("/sd-ext", "sdext", "SD-EXT");
 
diff --git a/partitions.hpp b/partitions.hpp
index 450e881..0f0e6fd 100644
--- a/partitions.hpp
+++ b/partitions.hpp
@@ -285,6 +285,7 @@
 	bool Remove_MTP_Storage(unsigned int Storage_ID);                         // Adds or removes an MTP Storage partition
 	void Translate_Partition(const char* path, const char* resource_name, const char* default_value);
 	void Translate_Partition(const char* path, const char* resource_name, const char* default_value, const char* storage_resource_name, const char* storage_default_value);
+	void Translate_Partition(const char* path, const char* resource_name, const char* default_value, const char* storage_resource_name, const char* storage_default_value, const char* backup_name, const char* backup_default);
 	void Translate_Partition_Display_Names();                                 // Updates display names based on translations
 	void Decrypt_Adopted();                                                   // Attempt to identy and decrypt any adopted storage partitions
 	void Remove_Partition_By_Path(string Path);                               // Removes / erases a partition entry from the partition list
diff --git a/twrpTar.cpp b/twrpTar.cpp
index 7e4d29a..fa836fd 100644
--- a/twrpTar.cpp
+++ b/twrpTar.cpp
@@ -67,7 +67,6 @@
 	userdata_encryption = 0;
 	use_compression = 0;
 	split_archives = 0;
-	has_data_media = 0;
 	pigz_pid = 0;
 	oaes_pid = 0;
 	Total_Backup_Size = 0;
diff --git a/twrpTar.hpp b/twrpTar.hpp
index 92674ee..b07b06f 100644
--- a/twrpTar.hpp
+++ b/twrpTar.hpp
@@ -62,7 +62,6 @@
 	int userdata_encryption;
 	int use_compression;
 	int split_archives;
-	int has_data_media;
 	string backup_name;
 	int progress_pipe_fd;
 	string partition_name;
