diff -Nur MONO.1.3b11/etc/inc/captiveportal.inc MONO/etc/inc/captiveportal.inc
--- MONO.1.3b11/etc/inc/captiveportal.inc	2008-04-05 14:31:25.000000000 +0200
+++ MONO/etc/inc/captiveportal.inc	2008-04-24 10:14:22.800705228 +0200
@@ -424,7 +424,12 @@
         $timedout = false;
         $term_cause = 1;
 
-        /* hard timeout? */
+        /* no pruning for fixed mac address entry */
+	if (portal_mac_fixed($cpdb[$i][3])) {
+		continue; // check next value
+	}
+
+	/* hard timeout? */
         if ($timeout) {
             if ((time() - $cpdb[$i][0]) >= $timeout) {
                 $timedout = true;
@@ -1022,4 +1027,25 @@
     return $nasIp;
 }
 
+function portal_mac_fixed($clientmac) {
+    global $g ;
+
+    /* open captive portal mac db */
+    if (file_exists("{$g['vardb_path']}/captiveportal_mac.db")) {
+        $fd = @fopen("{$g['vardb_path']}/captiveportal_mac.db","r") ;
+        if (!$fd) {
+            return FALSE;
+        }
+        while (!feof($fd)) {
+            $mac = trim(fgets($fd)) ;
+            if(strcasecmp($clientmac, $mac) == 0) {
+                fclose($fd) ;
+                return TRUE ;
+            }
+        }
+        fclose($fd) ;
+    }
+    return FALSE ;
+}
+
 ?>
diff -Nur MONO.1.3b11/usr/local/captiveportal/index.php MONO/usr/local/captiveportal/index.php
--- MONO.1.3b11/usr/local/captiveportal/index.php	2008-04-05 14:31:25.000000000 +0200
+++ MONO/usr/local/captiveportal/index.php	2008-04-24 10:24:10.446563760 +0200
@@ -226,27 +226,6 @@
     echo $htmltext;
 }
 
-function portal_mac_fixed($clientmac) {
-    global $g ;
-
-    /* open captive portal mac db */
-    if (file_exists("{$g['vardb_path']}/captiveportal_mac.db")) {
-        $fd = @fopen("{$g['vardb_path']}/captiveportal_mac.db","r") ;
-        if (!$fd) {
-            return FALSE;
-        }
-        while (!feof($fd)) {
-            $mac = trim(fgets($fd)) ;
-            if(strcasecmp($clientmac, $mac) == 0) {
-                fclose($fd) ;
-                return TRUE ;
-            }
-        }
-        fclose($fd) ;
-    }
-    return FALSE ;
-}
-
 function portal_mac_radius($clientmac,$clientip) {
     global $config ;
 
