Index: library/Zend/Form.php =================================================================== --- library/Zend/Form.php (revision 23428) +++ library/Zend/Form.php (revision ) @@ -1786,8 +1786,12 @@ $group = array(); foreach ($elements as $element) { if($element instanceof Zend_Form_Element) { - $element = $element->getId(); + $elementName = $element->getName(); + if(!isset($this->_elements[$elementName])) { + $this->addElement($element); - } + } + $element = $elementName; + } if (isset($this->_elements[$element])) { $add = $this->getElement($element); Index: tests/Zend/Form/FormTest.php =================================================================== --- tests/Zend/Form/FormTest.php (revision 23427) +++ tests/Zend/Form/FormTest.php (revision ) @@ -4392,10 +4392,13 @@ public function testAddElementToDisplayGroupByElementInstance() { $element = new Zend_Form_Element_Text('foo'); + $elementTwo = new Zend_Form_Element_Text('baz-----'); - $this->form->addElement($element); - $this->form->addDisplayGroup(array($element), 'bar'); - $this->assertNotNull($this->form->getDisplayGroup('bar')->getElement('foo')); + $this->form->addDisplayGroup(array($element, $elementTwo), 'bar'); + + $displayGroup = $this->form->getDisplayGroup('bar'); + $this->assertNotNull($displayGroup->getElement('foo')); + $this->assertNotNull($displayGroup->getElement('baz')); } /**