Xilinx ISE Multiple Drivers Error

Hi folks,
I seem to have convinced ISE to output incorrect multiple-driver error
messages. I've reduced the example to the following:

-- test.vhd
library ieee;
use ieee.std_logic_1164.all;

entity Test is
Clock : in std_ulogic;
Foo : out std_ulogic;
Bar : out std_ulogic);
end entity Test;

architecture Arch of Test is
Foo <= '1';
Bar <= '1';

process(Clock) is
variable Temp : std_ulogic := '0';
if rising_edge(Clock) then
Temp := not Temp;
end if;
Bar <= Temp;
end process;
end architecture Arch;

-- test.prj
vhdl work test.vhd

-- test.xst
-ifn test.prj
-ofn test.ngc
-p xc6slx9-tqg144-2
-top test
-opt_level 1
-opt_mode speed
-arch arch

$ xst -ifn test.xst
Release 13.4 - xst O.87xd (lin64)
Elaborating entity <Test> (architecture <Arch>) from library <work>.
ERROR:HDLCompiler:1401 - "/tmp/vhdl/test.vhd" Line 16: Signal Foo in
unit Test is connected to following multiple drivers:
ERROR:HDLCompiler:1379 - "/tmp/vhdl/test.vhd" Line 13: Driver 0: output
signal of instance Power ERROR:HDLCompiler:1379 - "/tmp/vhdl/test.vhd"
Line 16: Driver 1: output signal Temp of instance Flip-Flop

but clearly the signal with multiple drivers is Bar, not Foo!

Thoughts on this?