I have discovered that the problem arises when there is an entry in the egw_config:addressbook:types for custom email addresses.
The problem seems to be in class.addressbook_so.inc lines 282-291
$this->customfields = config::get_customfields(‘addressbook’);
$this->content_types = config::get_content_types(‘addressbook’);
if (!$this->content_types)
{
$this->content_types = $custom->content_types = array(‘n’ => array(
‘name’ => ‘contact’,
‘options’ => array(
‘template’ => ‘addressbook.edit’,
‘icon’ => ‘navbar.png’
)));
If there is a custom type then the standard edit template is not used for a new entry, it tries to use the custom type template instead and subsequently bombs out with a PHP error as the parameter is null.
John