Index: library/Zend/Form.php =================================================================== --- library/Zend/Form.php (revision 22930) +++ library/Zend/Form.php (revision ) @@ -1782,6 +1782,10 @@ { $group = array(); foreach ($elements as $element) { + if($element instanceof Zend_Form_Element) { + $element = $element->getId(); + } + if (isset($this->_elements[$element])) { $add = $this->getElement($element); if (null !== $add) { Index: tests/Zend/Form/FormTest.php =================================================================== --- tests/Zend/Form/FormTest.php (revision 22930) +++ tests/Zend/Form/FormTest.php (revision ) @@ -4388,7 +4388,16 @@ $html = $form->render($this->getView()); $this->assertEquals(1, substr_count($html, 'Customer Type'), $html); } + + public function testAddElementToDisplayGroupByElementInstance() + { + $element = new Zend_Form_Element_Text('foo'); + + $this->form->addElement($element); + $this->form->addDisplayGroup(array($element), 'bar'); + $this->assertNotNull($this->form->getDisplayGroup('bar')->getElement('foo')); -} + } +} class Zend_Form_FormTest_DisplayGroup extends Zend_Form_DisplayGroup {