diff --git a/kernel/arch/arm/plat-s5p/devs.c b/kernel/arch/arm/plat-s5p/devs.c
--- a/kernel/arch/arm/plat-s5p/devs.c
+++ b/kernel/arch/arm/plat-s5p/devs.c
@@ -82,6 +82,7 @@
         "acm",
         "usb_mass_storage",
         "adb",
+        "rndis",
 };
 /* mtp only mode */
 static char *usb_functions_mtp[] = {
diff --git a/kernel/drivers/usb/gadget/android.c b/kernel/drivers/usb/gadget/android.c
--- a/kernel/drivers/usb/gadget/android.c
+++ b/kernel/drivers/usb/gadget/android.c
@@ -578,7 +578,7 @@
 				dev->current_usb_mode = USBSTATUS_MTPONLY;
 			currentusbstatus =  dev->current_usb_mode; 
 		}
-		if (!strcmp(f->name, "rndis")) {
+		if (!strcmp(f->name, "rndis") && !dev->debugging_usb_mode) {
 			ret = set_product(dev, USBSTATUS_VTP);
 		}
 		if (!strcmp(f->name, "usb_mass_storage")) {
@@ -593,7 +593,7 @@
                   //dev->current_usb_mode = USBSTATUS_UMS;
                 /* for disable : Return old mode. If Non-GED model changes policy, below code has to be modified. */
 		if (!strcmp(f->name, "rndis") && dev->debugging_usb_mode)
-			ret = set_product(dev, USBSTATUS_ADB);
+			;
 		else{
 			ret = set_product(dev, dev->current_usb_mode);
 			if (!strcmp(f->name, "adb"))
