diff --git a/Kernel/drivers/usb/gadget/victory/adb_ums_acm_mtp_rndis.c b/Kernel/drivers/usb/gadget/victory/adb_ums_acm_mtp_rndis.c
--- a/Kernel/drivers/usb/gadget/victory/adb_ums_acm_mtp_rndis.c
+++ b/Kernel/drivers/usb/gadget/victory/adb_ums_acm_mtp_rndis.c
@@ -580,12 +580,12 @@
 };
 
 int currentusbstatus=0;
-extern int oldusbstatus;
 int UmsCDEnable=0;
 int ums_mount_status = 0;
 int askonstatus = 0;
 int inaskonstatus=0;
 static int prev_status_before_adb;  // previous USB setting before using ADB
+static int prev_status_before_vtp;  // previous USB setting before using VTP
 static int prev_enable_status;  // previous USB setting
 extern int mtp_mode_on;
 extern int usb_on;
@@ -614,7 +614,6 @@
 askonstatus=0;
 
 recheck:
-	oldusbstatus = currentusbstatus;
 	currentusbstatus=enable;
 	
 		ums_mount_status=0;
@@ -661,6 +660,7 @@
 		dev->adb_enabled = enable;
 #else
 		mtp_mode_on = 0;
+			prev_status_before_vtp = prev_enable_status;
         ret = usb_change_config(dev->cdev, &rndis_only_config);
 			if (ret) {
 				printk("[%s] Fail to rndis_only_config()\n", __func__);
@@ -681,6 +681,13 @@
 				prev_enable_status = prev_status_before_adb = 0; //reset
 				goto recheck;
 				}
+			if(prev_enable_status == USBSTATUS_VTP && prev_status_before_vtp != USBSTATUS_UMS) {
+				printk("[USB] %s - prev_status(0x%02x), prev_status_before_vtp setting(0x%02x)\n",
+						__func__, prev_enable_status, prev_status_before_vtp);
+				enable = prev_status_before_vtp;  // set previous status
+				prev_enable_status = prev_status_before_vtp = 0; //reset
+				goto recheck;
+				}
 
 			ret = usb_change_config(dev->cdev, &ums_only_config);
 			if (ret) {
@@ -765,7 +772,6 @@
 		Set_MAX8998_PM_ADDR(reg_address,&reg_value,1);
           
 
-	oldusbstatus = currentusbstatus;
 	currentusbstatus=enable;
 
 recheck:
diff --git a/Kernel/drivers/usb/gadget/victory/fsa9480_i2c.c b/Kernel/drivers/usb/gadget/victory/fsa9480_i2c.c
--- a/Kernel/drivers/usb/gadget/victory/fsa9480_i2c.c
+++ b/Kernel/drivers/usb/gadget/victory/fsa9480_i2c.c
@@ -40,8 +40,6 @@
 #define HOME_DOCK_INSERTED 1
 #define CAR_DOCK_INSERTED 2
 
-int oldusbstatus=0;
-
 int mtp_mode_on = 0;
 int usb_on = 1;
 
@@ -1212,7 +1210,7 @@
 		printk("tethering Off\n");
 
 		g_tethering = 0;
-		usb_switch_select(oldusbstatus);
+		usb_switch_select(USBSTATUS_UMS);
 		if(usbstatus)
 			UsbIndicator(1);
 	}
