diff --git a/gui/action.cpp b/gui/action.cpp
index 9bd5ce5..3e1f793 100644
--- a/gui/action.cpp
+++ b/gui/action.cpp
@@ -818,6 +818,13 @@
 								} else {
 									skip = true;
 								}
+							} else if (wipe_path == "INTERNAL") {
+								if (!PartitionManager.Wipe_Media_From_Data()) {
+									ret_val = false;
+									break;
+								} else {
+									skip = true;
+								}
 							}
 							if (!skip) {
 								if (!PartitionManager.Wipe_By_Path(wipe_path)) {
diff --git a/partition.cpp b/partition.cpp
index 7b687e7..f92d62f 100644
--- a/partition.cpp
+++ b/partition.cpp
@@ -480,7 +480,7 @@
 		Storage_Name = Display_Name;
 	if (!has_display_name && has_storage_name)
 		Display_Name = Storage_Name;
-	if (has_display_name && !has_backup_name)
+	if (has_display_name && !has_backup_name && Backup_Display_Name != "Android Secure")
 		Backup_Display_Name = Display_Name;
 	if (!has_display_name && has_backup_name)
 		Display_Name = Backup_Display_Name;
@@ -1158,6 +1158,9 @@
 		return false;
 
 	Has_Data_Media = false;
+	Decrypted_Block_Device = "";
+	Is_Decrypted = false;
+	Is_Encrypted = false;
 	if (Wipe(Fstab_File_System)) {
 		Has_Data_Media = Save_Data_Media;
 		if (Has_Data_Media && !Symlink_Mount_Point.empty()) {
diff --git a/partitionmanager.cpp b/partitionmanager.cpp
index a78705b..d7f1600 100644
--- a/partitionmanager.cpp
+++ b/partitionmanager.cpp
@@ -1191,6 +1191,9 @@
 			return -1;
 		if (dat->Has_Data_Media) {
 			dat->Recreate_Media_Folder();
+			// Unmount and remount - slightly hackish way to ensure that the "/sdcard" folder is still mounted properly after wiping
+			dat->UnMount(false);
+			dat->Mount(false);
 		}
 		return true;
 	} else {
@@ -1417,6 +1420,7 @@
 			dat->Is_Decrypted = true;
 			dat->Decrypted_Block_Device = crypto_blkdev;
 			dat->Setup_File_System(false);
+			dat->Current_File_System = dat->Fstab_File_System; // Needed if we're ignoring blkid because encrypted devices start out as emmc
 			gui_print("Data successfully decrypted, new block device: '%s'\n", crypto_blkdev);
 
 #ifdef CRYPTO_SD_FS_TYPE
@@ -1848,6 +1852,13 @@
 				part.selected = 0;
 				Partition_List->push_back(part);
 			}
+			if ((*iter)->Has_Data_Media) {
+				struct PartitionList datamedia;
+				datamedia.Display_Name = (*iter)->Storage_Name;
+				datamedia.Mount_Point = "INTERNAL";
+				datamedia.selected = 0;
+				Partition_List->push_back(datamedia);
+			}
 		}
 	} else {
 		LOGERR("Unknown list type '%s' requested for TWPartitionManager::Get_Partition_List\n", ListType.c_str());
