diff -urN ppp-2.4.4-orig/pppd/sys-linux.c ppp-2.4.4/pppd/sys-linux.c
--- ppp-2.4.4-orig/pppd/sys-linux.c	2010-12-09 17:43:29.000000000 +0800
+++ ppp-2.4.4/pppd/sys-linux.c	2010-12-09 17:41:02.000000000 +0800
@@ -641,7 +641,8 @@
 	if (x < 0 && req_unit >= 0 && errno == EEXIST) {
 		warn("Couldn't allocate PPP unit %d as it is already in use", req_unit);
 		ifunit = -1;
-		x = ioctl(ppp_dev_fd, PPPIOCNEWUNIT, &ifunit);
+		//if(req_unit != 0)
+			//x = ioctl(ppp_dev_fd, PPPIOCNEWUNIT, &ifunit);
 	}
 	if (x < 0)
 		error("Couldn't create new ppp unit: %m");
