diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php
index 16450fd9febdd73342ade22adeee88efa09fee87..9bc53a46b1964d13aef7f3f177704c14da8c583c 100644
--- a/htdocs/core/class/commonobject.class.php
+++ b/htdocs/core/class/commonobject.class.php
@@ -4261,6 +4261,13 @@ abstract class CommonObject
foreach($new_array_options as $key => $value)
{
$attributeKey = substr($key,8); // Remove 'options_' prefix
+
+ // array_option may contain extrafields from an origin object that doesn't exist in current object, we should not try to insert them
+ if(empty($extrafields->attribute_type[$attributeKey])) {
+ unset($this->array_options[$key]);
+ continue;
+ }
+
$attributeType = $extrafields->attribute_type[$attributeKey];
$attributeLabel = $extrafields->attribute_label[$attributeKey];
$attributeParam = $extrafields->attribute_param[$attributeKey];