update shipping profile on user update I use drupal commerce, I want if user info update if there is exist shipping profile update it else create new.

function mymodule_user_update(&amp;$edit, $account, $category){
    $def_id=commerce_addressbook_get_default_profile_id($account-&gt;uid,'shipping');
    if($def_id){
       $profile=commerce_customer_profile_load($def_id);
       }
    else{
         $profile = commerce_customer_profile_new('shipping', $account-&gt;uid);
    }
        // Add the address value.
        $profile_wrapper = entity_metadata_wrapper('commerce_customer_profile', $profile);
        $profile_wrapper-&gt;phone_mobile=$edit['field_mobile']['und'][0]['value'];;
        $profile_wrapper-&gt;phone_home=$edit['field_telephone']['und'][0]['value'];
        $profile_wrapper-&gt;field_user_addres = array_merge(addressfield_default_values(), array(
        'country' =&gt; $edit['field_user_addres']['und'][0]['country'], 
        'thoroughfare' =&gt; $edit['field_user_addres']['und'][0]['thoroughfare'], 
        'postal_code' =&gt; $edit['field_user_addres']['und'][0]['postal_code'], 
        'locality' =&gt; $edit['field_user_addres']['und'][0]['locality'], 
        'name_line' =&gt; $edit['field_name']['und'][0]['value'] . '  ' .$edit['field_last_name']['und'][0]['value'], 
        'first_name' =&gt; $edit['field_name']['und'][0]['value'], 
        'last_name' =&gt; $edit['field_last_name']['und'][0]['value'], 
       ));
        // Save the profile.
        $profile_wrapper-&gt;save();
        //ym($profile,'message');
    //ym($account,'message');
}


but when I submit it in any manner ( even thought default exists) $profile filled by shipping default profile and create new shipping profile,
where is my fault? how can I update shipping profile?
Thanks Clive for get clue me about this prblem.
according  https://drupalcommerce.org/user-guide/configuring-creating-customer-profiles 
`EDIT CUSTOMER PROFILE
Here we are editing the customer profile. Normally this might need to be updated to account for a customer who needs to change their shipping address or other kinds of updates. Note that the original customer profile does not get lost, we simply clone a copy of the original and make the changes. We are doing this action to show you how this process works. Note that this means, by default, if you edit a customer profile it does not change the original order.'