diff --git a/addressfield.module b/addressfield.module
index 177d92b..c23db22 100644
--- a/addressfield.module
+++ b/addressfield.module
@@ -409,7 +409,9 @@ function addressfield_field_widget_form(&$form, &$form_state, $field, $instance,
   // Generate a specific key used to identify this element to restore a default
   // value upon AJAX submission regardless of where this element is in the
   // $form array.
-  $element_key = implode('|', array($element['#entity_type'], $element['#bundle'], $element['#field_name'], $element['#language'], $element['#delta']));
+  $field_parents = (isset($element['#field_parents'])) ? $element['#field_parents'] : array();
+  $identifiers = array($element['#entity_type'], $element['#bundle'], $element['#field_name'], $element['#language'], $element['#delta']);
+  $element_key = implode('|', array_merge($field_parents, $identifiers));
 
   // Store the key in the element array as a value so it can be easily retrieved
   // in context in the $form_state['values'] array in the element validator.
