Xml.contains problem?

I have the code:

var xml:XML = 
<cbr>
	<gamelist>
		<xref source="a" />
		<xref source="b" />
		<xref source="c" />
		<xref source="d" />
	</gamelist>;
	<stuff>
		<xref source="a" />
		<xref source="b" />
		<xref source="c" />
		<xref source="d" />
	</stuff>;
</cbr>
trace(xml.gamelist.xref.(@source == "b").childIndex()); 

which works fine if the value I’m testing for is in the XML, it returns “2”… but if I test for a value not there, say “e”, I get an error:

“TypeError: Error #1086: The childIndex method only works on lists containing one item.”

which I don’t understand… I thought the list only contained one item, as I was limiting it to the single “gamelist” item?