diff --git a/model/DataObject.php b/model/DataObject.php index 992461c5d..bba75577c 100644 --- a/model/DataObject.php +++ b/model/DataObject.php @@ -3709,13 +3709,18 @@ class DataObject extends ViewableData implements DataObjectInterface, i18nEntity * @return array */ public function summaryFields() { - $fields = $this->stat('summary_fields'); + $rawFields = $this->stat('summary_fields'); - // if fields were passed in numeric array, - // convert to an associative array - if($fields && array_key_exists(0, $fields)) { - $fields = array_combine(array_values($fields), array_values($fields)); - } + $fields = []; + // Merge associative / numeric keys + if (is_array($rawFields)) { + foreach ($rawFields as $key => $value) { + if (is_int($key)) { + $key = $value; + } + $fields[$key] = $value; + } + } if (!$fields) { $fields = array();