diff --git a/crypto/ics/cryptfs.c b/crypto/ics/cryptfs.c
index 8a6c581..945864d 100644
--- a/crypto/ics/cryptfs.c
+++ b/crypto/ics/cryptfs.c
@@ -659,6 +659,7 @@
 
         int rc2 = 1;
 #ifndef RECOVERY_SDCARD_ON_DATA
+#ifdef TW_INTERNAL_STORAGE_PATH
 		// internal storage for non data/media devices
         if(!rc) {
             strcpy(pwbuf, passwd);
@@ -667,6 +668,7 @@
                     EXPAND(TW_INTERNAL_STORAGE_MOUNT_POINT));
         }
 #endif
+#endif
 #ifdef TW_EXTERNAL_STORAGE_PATH
 		printf("Temp mounting /data\n");
 		// mount data so mount_ecryptfs_drive can access edk in /data/system/
@@ -674,21 +676,17 @@
         // external sd
 		char decrypt_external[256], external_blkdev[256];
 		property_get("ro.crypto.external_encrypted", decrypt_external, "0");
-		// First we have to mount the external storage
-        if (!rc2 && strcmp(decrypt_external, "1") == 0) {
-			printf("Mounting external...\n");
-			property_get("ro.crypto.external_blkdev", external_blkdev, "");
-            rc2 = mount(
-                    external_blkdev, EXPAND(TW_EXTERNAL_STORAGE_PATH),
-                    "vfat", MS_RDONLY, "");
-        }
 		// Mount the external storage as ecryptfs so that ecryptfs can act as a pass-through
-		if (!rc2) {
+		if (!rc2 && strcmp(decrypt_external, "1") == 0) {
 			printf("Mounting external with ecryptfs...\n");
             strcpy(pwbuf, passwd);
             rc2 = mount_ecryptfs_drive(
                     pwbuf, EXPAND(TW_EXTERNAL_STORAGE_PATH),
                     EXPAND(TW_EXTERNAL_STORAGE_PATH), 0);
+			if (rc2 == 0)
+				property_set("ro.crypto.external_use_ecryptfs", "1");
+			else
+				property_set("ro.crypto.external_use_ecryptfs", "0");
         } else {
 			printf("Unable to mount external storage with ecryptfs.\n");
 			umount(EXPAND(TW_EXTERNAL_STORAGE_PATH));
