the following is not the bug but is related. Nav put's the images in the 2nd cell
on the same line. Border widths of cells are suspect here.
<table border width=26 cellspacing=0 cellpadding=0>
 <tr> 
  <td><img src="../images/pxl_white.gif" width=2 height=2></td>
  <td><img src="../images/pxl_white.gif" width=10 height=2><img src="../images/0.gif" width=10 height=2></td>
 </tr>
</table>
<BR>
the following is related to the bug. Nav put's the images in the last cell of the last
table on the same line.
<table border=0 cellspacing=0 cellpadding=0 valign=TOP>
 <tr>
  <td valign=TOP>
   <table width="175" border="0" cellspacing="0" cellpadding="0">
    <tr valign=TOP>
     <td><img src="../images/0.gif" width=7 height=2></td>
    </tr>
    <tr valign=TOP>
     <td colspan=8 valign=top><a href="../buy/index.htm"><img src="../images/nav_buy_checklist.gif" alt="Buy a home checklist" width=156 height=29 border=0></a><img src="../images/nav_top_left_frag_2.gif" width=19 height=29 alt=""></td>
    </tr>
    <tr>
     <td colspan=3 valign=bottom><img src="../images/pxl_df9f3b.gif" width=156 height=1></td>
    </tr>
   </table></td>
  <td valign="top">
   <table width=525 border=0 cellspacing=0 cellpadding=0>
    <tr> 
     <td bgcolor=White><img src="../images/0.gif" width=20 height=2></td>
          <td bgcolor=White><img src="../images/0.gif" width=20 height=2></td>
          <td bgcolor=White><img src="../images/0.gif" width=20 height=2></td>
          <td bgcolor=White><img src="../images/0.gif" width=20 height=2></td>
          <td bgcolor=White><img src="../images/0.gif" width=67 height=2></td>
          <td bgcolor=White><img src="../images/0.gif" width=81 height=2></td>
          <td bgcolor=White><img src="../images/0.gif" width=77 height=2></td>
          <td bgcolor=White><img src="../images/0.gif" width=63 height=2></td>
          <td bgcolor=White><img src="../images/0.gif" width=20 height=2></td>
          <td bgcolor=White><img src="../images/0.gif" width=19 height=2></td>
          <td bgcolor=White><img src="../images/0.gif" width=101 height=2></td>
          <td><img src="../images/pxl_white.gif" width=15 height=2><img src="../images/0.gif" width=2 height=2></td>
        </tr>
        <tr> 
          <td colspan=12><img src="../images/navtop_buy_pr.gif" width=525 height=18 border=0 alt="" usemap="#topnav" ismap><br>
<img src="../images/dot_black.gif" width=525 height=1><br>
<img src="../images/pxl_df9f3b.gif" width=525 height=2></td>
        </tr>
        </table>
        </td>
        </tr>
        </table>
<BR>
<TABLE WIDTH="420" BORDER="1" CELLSPACING="1" CELLPADDING="1" BGCOLOR="#cccccc">

<!-- af2_results_elbat.htm - 11/17/98 - 11:12:13 AM -->
<TR valign="TOP">
        <td width="20" align="RIGHT">
        1.&nbsp;</TD>
        <td width="232">
        Some One<BR>
        Joe Banker<br>
        4633 Ocean Avenue<BR>
        San Francisco,&nbsp;
        CA&nbsp;
        94132  <BR>
        
        </TD>
        <td width="20"><IMG 
SRC="../images/raptor.jpg" WIDTH =20 HEIGHT=1 BORDER=0></TD>
        <td width="148" align="RIGHT"><IMG 
src="../images/raptor.jpg" border="0" alt="" width="38" height="34"><IMG 
SRC="../images/raptor.jpg" WIDTH =12 HEIGHT=1 BORDER=0><IMG 
src="../images/raptor.jpg" width="38" height="34" border="0" alt=""><IMG 
SRC="../images/raptor.jpg" WIDTH =12 HEIGHT=1 BORDER=0><IMG 
src="../images/raptor.jpg" width="38" height="34" border="0" alt=""></TD>
</TR>

<TR><td></td>
        <TD colspan="3"><IMG 
src="../images/raptor.jpg" width="398" height="1" border="0" alt=""><br>&nbsp;</TD>
</TR>

<!-- af2_results_elbat.htm - 11/17/98 - 11:12:13 AM -->
<TR valign="TOP">
        <td width="20" align="RIGHT">
        2.&nbsp;</TD>
        <td width="232">
        FORECLOSURES AAA HOMES UP TO 50% OFF<BR>
        Real Estate Services<br>
        CA&nbsp;
        00000  <BR>
        (000) 000-0000
        </TD>
        <td width="20"><IMG 
SRC="../images/raptor.jpg" WIDTH =20 HEIGHT=1 BORDER=0></TD>
        <td width="148" align="RIGHT"><IMG 
src="../images/raptor.jpg" border="0" alt="" width="38" height="34"><IMG 
SRC="../images/raptor.jpg" WIDTH =12 HEIGHT=1 BORDER=0><IMG 
src="../images/raptor.jpg" width="38" height="34" border="0" alt=""><IMG 
SRC="../images/raptor.jpg" WIDTH =12 HEIGHT=1 BORDER=0><IMG 
src="../images/raptor.jpg" width="38" height="34" border="0" alt=""></TD>
</TR>

</TABLE>
