It's acting as if Tag's constructor a) declares $name as a reference using &$name, and b) is assigning itself ($this) to $name for some (probably bad) reason. That's the only way I can see that $name inside SelectBoxOption's constructor could change from a string to an object. A peek at Tag's constructor could really clear things up. David