Only update fields if necessary