diff --git a/mtp/MtpDebug.cpp b/mtp/MtpDebug.cpp
index c3a3d8a..47834ab 100755
--- a/mtp/MtpDebug.cpp
+++ b/mtp/MtpDebug.cpp
@@ -21,20 +21,20 @@
 #include <stdio.h>
 
 #define MTP_DEBUG_BUFFER_SIZE 2048
-//#define MTP_DEBUG 1
+static int debug_enabled = 0;
 
 extern "C" void mtpdebug(const char *fmt, ...)
 {
-#ifdef MTP_DEBUG
-	char buf[MTP_DEBUG_BUFFER_SIZE];		// We're going to limit a single request to 512 bytes
+	if (debug_enabled) {
+		char buf[MTP_DEBUG_BUFFER_SIZE];		// We're going to limit a single request to 512 bytes
 
-	va_list ap;
-	va_start(ap, fmt);
-	vsnprintf(buf, MTP_DEBUG_BUFFER_SIZE, fmt, ap);
-	va_end(ap);
+		va_list ap;
+		va_start(ap, fmt);
+		vsnprintf(buf, MTP_DEBUG_BUFFER_SIZE, fmt, ap);
+		va_end(ap);
 
-	fputs(buf, stdout);
-#endif
+		fputs(buf, stdout);
+	}
 }
 
 struct CodeEntry {
@@ -417,3 +417,8 @@
 		return "NONE";
 	return getCodeName(code, sDevicePropCodes);
 }
+
+void MtpDebug::enableDebug(void) {
+	debug_enabled = 1;
+	MTPD("MTP debug logging enabled\n");
+}
diff --git a/mtp/MtpDebug.h b/mtp/MtpDebug.h
index 12a23cc..b572b3b 100755
--- a/mtp/MtpDebug.h
+++ b/mtp/MtpDebug.h
@@ -43,6 +43,7 @@
 	static const char* getFormatCodeName(MtpObjectFormat code);
 	static const char* getObjectPropCodeName(MtpPropertyCode code);
 	static const char* getDevicePropCodeName(MtpPropertyCode code);
+	static void enableDebug();
 };
 
 
diff --git a/mtp/twrpMtp.cpp b/mtp/twrpMtp.cpp
index ff58f79..6fe0ee3 100755
--- a/mtp/twrpMtp.cpp
+++ b/mtp/twrpMtp.cpp
@@ -68,7 +68,9 @@
 }
 #endif //def TWRPMTP
 
-twrpMtp::twrpMtp() {
+twrpMtp::twrpMtp(int debug_enabled = 0) {
+	if (debug_enabled)
+		MtpDebug::enableDebug();
 	mtpstorages = new storages;
 }
 
diff --git a/mtp/twrpMtp.hpp b/mtp/twrpMtp.hpp
index 2dd56a2..bed81c0 100755
--- a/mtp/twrpMtp.hpp
+++ b/mtp/twrpMtp.hpp
@@ -33,7 +33,7 @@
 
 class twrpMtp {
 	public:
-		twrpMtp();
+		twrpMtp(int debug_enabled /* = 0 */);
 		pthread_t runserver(void);
 		void addStorage(std::string display, std::string path, int mtpid);
 	private:
diff --git a/partitionmanager.cpp b/partitionmanager.cpp
index 59451e3..a8b61c3 100644
--- a/partitionmanager.cpp
+++ b/partitionmanager.cpp
@@ -2171,7 +2171,10 @@
 	TWFunc::write_file("/sys/class/android_usb/android0/idProduct", productstr);
 	property_set("sys.usb.config", "mtp,adb");
 	std::vector<TWPartition*>::iterator iter;
-	twrpMtp *mtp = new twrpMtp();
+	/* To enable MTP debug, use the twrp command line feature to
+	 * twrp set tw_mtp_debug 1
+	 */
+	twrpMtp *mtp = new twrpMtp(DataManager::GetIntValue("tw_mtp_debug"));
 	for (iter = Partitions.begin(); iter != Partitions.end(); iter++) {
 		if ((*iter)->Is_Storage && (*iter)->Is_Present && (*iter)->Mount(false)) {
 			printf("twrp mtpid: %d\n", (*iter)->mtpid);
