diff --git a/partition.cpp b/partition.cpp
index 081487e..f3c79f7 100644
--- a/partition.cpp
+++ b/partition.cpp
@@ -29,6 +29,10 @@
 #include <unistd.h>
 #include <dirent.h>
 
+#ifdef TW_INCLUDE_CRYPTO
+	#include "cutils/properties.h"
+#endif
+
 #include "variables.h"
 #include "common.h"
 #include "partitions.hpp"
@@ -156,12 +160,28 @@
 			Has_Data_Media = true;
 			Is_Storage = true;
 			Storage_Path = "/data/media";
-			Make_Dir("/sdcard", Display_Error);
-			Make_Dir("/emmc", Display_Error);
+			if (strcmp(EXPAND(TW_EXTERNAL_STORAGE_PATH), "/sdcard") == 0) {
+				Make_Dir("/emmc", Display_Error);
+				Symlink_Path = "/data/media";
+				Symlink_Mount_Point = "/emmc";
+			} else {
+				Make_Dir("/sdcard", Display_Error);
+				Symlink_Path = "/data/media";
+				Symlink_Mount_Point = "/sdcard";
+			}
 #endif
 #ifdef TW_INCLUDE_CRYPTO
 			Can_Be_Encrypted = true;
-			if (!Mount(false)) {
+			char crypto_blkdev[255];
+			property_get("ro.crypto.fs_crypto_blkdev", crypto_blkdev, "error");
+			if (strcmp(crypto_blkdev, "error") != 0) {
+				DataManager::SetValue(TW_DATA_BLK_DEVICE, Block_Device);
+				DataManager::SetValue(TW_IS_DECRYPTED, 1);
+				Is_Encrypted = true;
+				Is_Decrypted = true;
+				Decrypted_Block_Device = crypto_blkdev;
+				LOGI("Data already decrypted, new block device: '%s'\n", crypto_blkdev);
+			} else if (!Mount(false)) {
 				Is_Encrypted = true;
 				Is_Decrypted = false;
 				DataManager::SetValue(TW_IS_ENCRYPTED, 1);
@@ -320,7 +340,7 @@
 	// Check to see if the block device exists
 	if (Path_Exists(Block_Device)) {
 		Is_Present = true;
-	} else if (Alternate_Block_Device != "" && Path_Exists(Alternate_Block_Device)) {
+	} else if (!Alternate_Block_Device.empty() && Path_Exists(Alternate_Block_Device)) {
 		Flip_Block_Device();
 		Is_Present = true;
 	}
@@ -334,7 +354,7 @@
 void TWPartition::Setup_Image(bool Display_Error) {
 	if (Path_Exists(Block_Device)) {
 		Is_Present = true;
-	} else if (Alternate_Block_Device != "" && Path_Exists(Alternate_Block_Device)) {
+	} else if (!Alternate_Block_Device.empty() && Path_Exists(Alternate_Block_Device)) {
 		Flip_Block_Device();
 		Is_Present = true;
 	}
@@ -595,7 +615,7 @@
 	if (mount(Block_Device.c_str(), Mount_Point.c_str(), Current_File_System.c_str(), 0, NULL) != 0) {
 		Check_FS_Type();
 		if (mount(Block_Device.c_str(), Mount_Point.c_str(), Current_File_System.c_str(), 0, NULL) != 0) {
-			if (Alternate_Block_Device != "" && Path_Exists(Alternate_Block_Device)) {
+			if (!Alternate_Block_Device.empty() && Path_Exists(Alternate_Block_Device)) {
 				Flip_Block_Device();
 				Check_FS_Type();
 				if (mount(Block_Device.c_str(), Mount_Point.c_str(), Current_File_System.c_str(), 0, NULL) != 0) {
