Index: dbitem.php =================================================================== --- dbitem.php (revision 13274) +++ dbitem.php (working copy) @@ -226,7 +226,7 @@ $this->FieldErrors[$error_field]['value'] = $error_params['value']; unset($error_params['value']); } - + // additional params, that helps to determine error sources $this->FieldErrors[$error_field]['params'] = $error_params; } @@ -450,7 +450,15 @@ // 2. don't write empty field value to db, when "skip_empty" option is set $field_value = array_key_exists($field_name, $this->FieldValues) ? $this->FieldValues[$field_name] : false; - $skip_empty = array_key_exists('skip_empty', $this->Fields[$field_name]) ? $this->Fields[$field_name]['skip_empty'] : false; + + if (array_key_exists($field_name, $this->Fields)) { + $skip_empty = array_key_exists('skip_empty', $this->Fields[$field_name]) ? $this->Fields[$field_name]['skip_empty'] : false; + } + else { + // field found in database, but not declared in unit config + $skip_empty = false; + } + $skip = $skip || (!$field_value && $skip_empty); // 3. skipping field not in Fields (nor virtual, nor real)