diff -Nru rp-pppoe-3.8.orig/src/pppoe-server.c rp-pppoe-3.8/src/pppoe-server.c
--- rp-pppoe-3.8.orig/src/pppoe-server.c	2006-04-02 17:29:42.000000000 +0300
+++ rp-pppoe-3.8/src/pppoe-server.c	2008-01-06 14:43:39.000000000 +0200
@@ -1693,7 +1693,7 @@
     }
     if (PassUnitOptionToPPPD) {
 	argv[c++] = "unit";
-	sprintf(buffer, "%u", (unsigned int) (ntohs(session->sess) - 1 - SessOffset));
+	sprintf(buffer, "%u", (unsigned int) (ntohs(session->sess) - 1));
 	argv[c++] = buffer;
     }
     argv[c++] = NULL;
@@ -1776,7 +1776,7 @@
     argv[c++] = "default-asyncmap";
     if (PassUnitOptionToPPPD) {
 	argv[c++] = "unit";
-	sprintf(buffer, "%u", (unsigned int) (ntohs(session->sess) - 1 - SessOffset));
+	sprintf(buffer, "%u", (unsigned int) (ntohs(session->sess) - 1));
 	argv[c++] = buffer;
     }
     argv[c++] = NULL;