diff --git a/config/cfgroot/header.pl b/config/cfgroot/header.pl
index 1046f5992..b5d153a55 100644
--- a/config/cfgroot/header.pl
+++ b/config/cfgroot/header.pl
@@ -403,88 +403,110 @@ sub PrintActualLeases
  <th width='25%' align='center'><a href='$ENV{'SCRIPT_NAME'}?ETHER'><b>$tr{'mac address'}</b></a></th>
  <th width='20%' align='center'><a href='$ENV{'SCRIPT_NAME'}?HOSTNAME'><b>$tr{'hostname'}</b></a></th>
  <th width='25%' align='center'><a href='$ENV{'SCRIPT_NAME'}?ENDTIME'><b>$tr{'lease expires'} (local time d/m/y)</b></a></th>
-<th width='5%' align='center'><b>Add to fix leases<b></th>
+<th width='5%' align='center'><b>Add to fix leases</b></th>
  </tr>
  END
  ;

      open(LEASES,"/var/state/dhcp/dhcpd.leases") or die "Can't open dhcpd.leases";
-    while ($line = <LEASES>) {
-    next if( $line =~ /^\s*#/ );
-    chomp($line);
-    @temp = split (' ', $line);
-
-    if ($line =~ /^\s*lease/) {
-        $ip = $temp[1];
-        #All field are not necessarily read. Clear everything
-        $endtime = 0;
-        $ether = "";
-        $hostname = "";
-    }
+    while (my $line = <LEASES>) {
+        next if( $line =~ /^\s*#/ );
+        chomp($line);
+        @temp = split (' ', $line);
+
+        if ($line =~ /^\s*lease/) {
+            $ip = $temp[1];
+            #All field are not necessarily read. Clear everything
+            $endtime = 0;
+            $endtime_print = "";
+            $expired = 0;
+            $ether = "";
+            $hostname = "";
+        }

-    if ($line =~ /^\s*ends/) {
-        $line =~ /(\d+)\/(\d+)\/(\d+) (\d+):(\d+):(\d+)/;
-        $endtime = timegm($6, $5, $4, $3, $2 - 1, $1 - 1900);
-    }
+        if ($line =~ /^\s*ends/) {
+            $line =~ /(\d+)\/(\d+)\/(\d+) (\d+):(\d+):(\d+)/;
+            $endtime = timegm($6, $5, $4, $3, $2 - 1, $1 - 1900);
+            ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $dst) = localtime($endtime);
+            $endtime_print = sprintf ("%02d/%02d/%d %02d:%02d:%02d",$mday,$mon+1,$year+1900,$hour,$min,$sec);
+            $expired = $endtime < time();
+        }

-    if ($line =~ /^\s*hardware ethernet/) {
-        $ether = $temp[2];
-        $ether =~ s/;//g;
-    }
+        if ($line =~ /^\s*hardware ethernet/) {
+            $ether = $temp[2];
+            $ether =~ s/;//g;
+        }

-    if ($line =~ /^\s*client-hostname/) {
-        $hostname = "$temp[1] $temp[2] $temp[3]";
-        $hostname =~ s/;//g;
-        $hostname =~ s/\"//g;
-    }
+        if ($line =~ /^\s*client-hostname/) {
+            $hostname = "$temp[1] $temp[2] $temp[3]";
+            $hostname =~ s/;//g;
+            $hostname =~ s/\"//g;
+        }

-    if ($line eq "}") {
-        @record = ('IPADDR',$ip,'ENDTIME',$endtime,'ETHER',$ether,'HOSTNAME',$hostname);
-            $record = {};                                # create a reference to empty hash
-        %{$record} = @record;                        # populate that hash with @record
-        $entries{$record->{'IPADDR'}} = $record;       # add this to a hash of hashes
-    }
+        if ($line eq "}") {
+            @record = ('IPADDR',$ip,'ENDTIME',$endtime,'ETHER',$ether,'HOSTNAME',$hostname,'endtime_print',$endtime_print,'expired',$expired);
+            $record = {};                                # create a reference to empty hash
+            %{$record} = @record;                        # populate that hash with @record
+            $entries{$record->{'IPADDR'}} = $record;    # add this to a hash of hashes
+        }
      }
      close(LEASES);

      my $id = 0;
-    my $col="";
+    my $col = "";
+    my $separator_printed = 0;
      foreach my $key (sort leasesort keys %entries) {
-    print "<form method='post' action='/cgi-bin/dhcp.cgi'>\n";
-    my $hostname = &cleanhtml($entries{$key}->{HOSTNAME},"y");
-
-    if ($id % 2) {
-        print "<tr>";
-        $col="bgcolor='$table1colour'";
-    }
-    else {
-        print "<tr>";
-        $col="bgcolor='$table2colour'";
-    }
-
-    print <<END
+        my $hostname = &cleanhtml($entries{$key}->{HOSTNAME},"y");
+        my $hostname_print = $hostname;
+        if($hostname_print eq "") { #print blank space if no hostname is found
+            $hostname_print = "&nbsp;&nbsp;&nbsp;";
+        }
+
+        # separate active and expired leases with a horizontal line
+        if(($entries{$key}->{expired}) && ($separator_printed == 0)) {
+            $separator_printed = 1;
+            if ($id % 2) {
+                print "<tr><td colspan='5' bgcolor='$table1colour'><hr size='1'></td></tr>\n";
+            } else {
+                print "<tr><td colspan='5' bgcolor='$table2colour'><hr size='1'></td></tr>\n";
+            }
+            $id++;
+        }
+
+        print "<form method='post' action='/cgi-bin/dhcp.cgi'>\n";
+        if ($id % 2) {
+            print "<tr>";
+            $col="bgcolor='$table1colour'";
+        } else {
+            print "<tr>";
+            $col="bgcolor='$table2colour'";
+        }
+
+        if($entries{$key}->{expired}) {
+            print <<END
+<td align='center' $col><input type='hidden' name='FIX_ADDR' value='$entries{$key}->{IPADDR}' /><strike><i>$entries{$key}->{IPADDR}</i></strike></td>
+<td align='center' $col><input type='hidden' name='FIX_MAC' value='$entries{$key}->{ETHER}' /><strike><i>$entries{$key}->{ETHER}</i></strike></td>
+<td align='center' $col><input type='hidden' name='FIX_REMARK' value='$hostname' /><strike><i>$hostname_print<i><strike></td>
+<td align='center' $col><input type='hidden' name='FIX_ENABLED' value='on' /><strike><i>$entries{$key}->{endtime_print}</i></strike></td>
+END
+;
+        } else {
+            print <<END
  <td align='center' $col><input type='hidden' name='FIX_ADDR' value='$entries{$key}->{IPADDR}' />$entries{$key}->{IPADDR}</td>
  <td align='center' $col><input type='hidden' name='FIX_MAC' value='$entries{$key}->{ETHER}' />$entries{$key}->{ETHER}</td>
-<td align='center' $col><input type='hidden' name='FIX_REMARK' value='$hostname' />&nbsp;$hostname</td>
-<td align='center' $col><input type='hidden' name='FIX_ENABLED' value='on' />
+<td align='center' $col><input type='hidden' name='FIX_REMARK' value='$hostname' />$hostname_print</td>
+<td align='center' $col><input type='hidden' name='FIX_ENABLED' value='on' />$entries{$key}->{endtime_print}</td>
  END
-;
-
-    ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $dst) = localtime ($entries{$key}->{ENDTIME});
-    $enddate = sprintf ("%02d/%02d/%d %02d:%02d:%02d",$mday,$mon+1,$year+1900,$hour,$min,$sec);
-
-    if ($entries{$key}->{ENDTIME} < time() ){
-        print "<strike>$enddate</strike>";
-    } else {
-        print "$enddate";
-    }
-    print <<END
-</td><td $col><input type='hidden' name='ACTION' value='$Lang::tr{'add'}2' /><input type='submit' name='SUBMIT' value='$Lang::tr{'add'}' />
-</td></tr></form>
+;
+        }
+
+        print <<END
+<td $col><input type='hidden' name='ACTION' value='$Lang::tr{'add'}2' /><input type='submit' name='SUBMIT' value='$Lang::tr{'add'}' /></td>
+</tr></form>
  END
-;
-    $id++;
-    }
+;
+        $id++;
+    }

      print "</table>";
      &closebox();
@@ -499,11 +521,14 @@ sub leasesort {
          if ($qs eq 'IPADDR') {
              @a = split(/\./,$entries{$a}->{$qs});
              @b = split(/\./,$entries{$b}->{$qs});
+            $entries{$a}->{'expired'} <=> $entries{$b}->{'expired'} ||
              ($b[0]<=>$a[0]) ||
              ($b[1]<=>$a[1]) ||
              ($b[2]<=>$a[2]) ||
              ($b[3]<=>$a[3]);
-        }else {
+            ;
+        } else {
+            $entries{$a}->{'expired'} <=> $entries{$b}->{'expired'} ||
              $entries{$b}->{$qs} cmp $entries{$a}->{$qs};
          }
      }
@@ -511,15 +536,17 @@ sub leasesort {
      {
          $qs=$dhcpsettings{'SORT_LEASELIST'};
          if ($qs eq 'IPADDR') {
-        @a = split(/\./,$entries{$a}->{$qs});
+            @a = split(/\./,$entries{$a}->{$qs});
              @b = split(/\./,$entries{$b}->{$qs});
+            $entries{$a}->{'expired'} <=> $entries{$b}->{'expired'} ||
              ($a[0]<=>$b[0]) ||
-        ($a[1]<=>$b[1]) ||
-        ($a[2]<=>$b[2]) ||
+            ($a[1]<=>$b[1]) ||
+            ($a[2]<=>$b[2]) ||
              ($a[3]<=>$b[3]);
-    }else {
+        } else {
+            $entries{$a}->{'expired'} <=> $entries{$b}->{'expired'} ||
              $entries{$a}->{$qs} cmp $entries{$b}->{$qs};
-    }
+        }
      }
  }

