diff --git a/mtp/twrpMtp.cpp b/mtp/twrpMtp.cpp
index 6fe0ee3..e7c3f2c 100755
--- a/mtp/twrpMtp.cpp
+++ b/mtp/twrpMtp.cpp
@@ -82,7 +82,7 @@
 	return 0;
 }
 
-pthread_t twrpMtp::runserver(void) {
+pthread_t twrpMtp::threadserver(void) {
 	pthread_t thread;
 	ThreadPtr mtpptr = &twrpMtp::start;
 	PThreadPtr p = *(PThreadPtr*)&mtpptr;
@@ -90,6 +90,21 @@
 	return thread;
 }
 
+pid_t twrpMtp::forkserver(void) {
+	pid_t pid;
+	if ((pid = fork()) == -1) {
+		MTPE("MTP fork failed.\n");
+		return 0;
+	}
+	if (pid == 0) {
+		// Child process
+		start();
+	} else {
+		return pid;
+	}
+	return 0;
+}
+
 void twrpMtp::addStorage(std::string display, std::string path, int mtpid) {
 	s = new storage;
 	s->display = display;
diff --git a/mtp/twrpMtp.hpp b/mtp/twrpMtp.hpp
index bed81c0..f0d8f4b 100755
--- a/mtp/twrpMtp.hpp
+++ b/mtp/twrpMtp.hpp
@@ -34,7 +34,8 @@
 class twrpMtp {
 	public:
 		twrpMtp(int debug_enabled /* = 0 */);
-		pthread_t runserver(void);
+		pthread_t threadserver(void);
+		pid_t forkserver(void);
 		void addStorage(std::string display, std::string path, int mtpid);
 	private:
 		int start(void);
diff --git a/partitionmanager.cpp b/partitionmanager.cpp
index a8b61c3..bc27ccb 100644
--- a/partitionmanager.cpp
+++ b/partitionmanager.cpp
@@ -2153,7 +2153,7 @@
 
 bool TWPartitionManager::Enable_MTP(void) {
 #ifdef TW_HAS_MTP
-	if (mtpthread) {
+	if (mtppid) {
 		LOGERR("MTP already enabled\n");
 		return true;
 	}
@@ -2183,9 +2183,14 @@
 		}
 	}
 	if (count) {
-		mtpthread = mtp->runserver();
-		DataManager::SetValue("tw_mtp_enabled", 1);
-		return true;
+		mtppid = mtp->forkserver();
+		if (mtppid) {
+			DataManager::SetValue("tw_mtp_enabled", 1);
+			return true;
+		} else {
+			LOGERR("Failed to enable MTP\n");
+			return false;
+		}
 	}
 	LOGERR("No valid storage partitions found for MTP.\n");
 #else
@@ -2206,9 +2211,9 @@
 	string productstr = product;
 	TWFunc::write_file("/sys/class/android_usb/android0/idVendor", vendorstr);
 	TWFunc::write_file("/sys/class/android_usb/android0/idProduct", productstr);
-	if (mtpthread) {
-		pthread_kill(mtpthread, 0);
-		mtpthread = NULL;
+	if (mtppid) {
+		kill(mtppid, SIGTERM);
+		mtppid = 0;
 	}
 	property_set("sys.usb.config", "adb");
 	DataManager::SetValue("tw_mtp_enabled", 0);
diff --git a/partitions.hpp b/partitions.hpp
index 00f435a..4fe155e 100644
--- a/partitions.hpp
+++ b/partitions.hpp
@@ -239,7 +239,7 @@
 	TWPartition* Find_Next_Storage(string Path, string Exclude);
 	int Open_Lun_File(string Partition_Path, string Lun_File);
 	int mtpid;
-	pthread_t mtpthread;
+	pid_t mtppid;
 	bool mtp_was_enabled;
 
 private:
