diff --git a/twrp.cpp b/twrp.cpp
index 9ea6ba6..977fea2 100644
--- a/twrp.cpp
+++ b/twrp.cpp
@@ -303,25 +303,25 @@
 	}
 
 #ifdef TW_HAS_MTP
-	// Enable MTP?
 	char mtp_crash_check[PROPERTY_VALUE_MAX];
 	property_get("mtp.crash_check", mtp_crash_check, "0");
-	if (strcmp(mtp_crash_check, "0") == 0) {
+	if (DataManager::GetIntValue("tw_mtp_enabled")
+			&& !strcmp(mtp_crash_check, "0") && !crash_counter
+			&& (!DataManager::GetIntValue(TW_IS_ENCRYPTED) || DataManager::GetIntValue(TW_IS_DECRYPTED))) {
 		property_set("mtp.crash_check", "1");
-		if (DataManager::GetIntValue("tw_mtp_enabled") == 1 && ((DataManager::GetIntValue(TW_IS_ENCRYPTED) != 0 && DataManager::GetIntValue(TW_IS_DECRYPTED) != 0) || DataManager::GetIntValue(TW_IS_ENCRYPTED) == 0)) {
-			LOGINFO("Enabling MTP during startup\n");
-			if (!PartitionManager.Enable_MTP())
-				PartitionManager.Disable_MTP();
-			else
-				gui_msg("mtp_enabled=MTP Enabled");
-		} else {
+		LOGINFO("Starting MTP\n");
+		if (!PartitionManager.Enable_MTP())
 			PartitionManager.Disable_MTP();
-		}
+		else
+			gui_msg("mtp_enabled=MTP Enabled");
 		property_set("mtp.crash_check", "0");
-	} else {
+	} else if (strcmp(mtp_crash_check, "0")) {
 		gui_warn("mtp_crash=MTP Crashed, not starting MTP on boot.");
 		DataManager::SetValue("tw_mtp_enabled", 0);
 		PartitionManager.Disable_MTP();
+	} else if (crash_counter == 1) {
+		LOGINFO("TWRP crashed; disabling MTP as a precaution.\n");
+		PartitionManager.Disable_MTP();
 	}
 #endif
 
