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];