diff --git a/shs.module b/shs.module
index de30c9d..a6b0f70 100644
--- a/shs.module
+++ b/shs.module
@@ -325,10 +325,11 @@ function shs_field_widget_afterbuild($element, &$form_state) {
   }
 
   $parents = array();
-  // Get value from element.
-  if (!empty($form_state['values'][$element['#field_name']][$element['#language']][$element['#delta']]['tid'])) {
+  // Get default value from form state and set it to element.
+  $default_value = drupal_array_get_nested_value($form_state['values'], $element['#parents']);
+  if ($default_value) {
     // Use value from form_state (for example for fields with cardinality = -1).
-    $element['#default_value'] = $form_state['values'][$element['#field_name']][$element['#language']][$element['#delta']];
+    $element['#default_value'] = array('tid' => $default_value);
   }
 
   // Add main Javascript behavior and style only once.
