diff --git a/link.module b/link.module
index 2c57c82..d0c937f 100644
--- a/link.module
+++ b/link.module
@@ -361,9 +361,16 @@ function link_process($element, $edit, $form_state, $form) {
    if (!is_array($field['attributes'])) {
      $field['attributes'] = array();
    }
-   // Add default atrributes.
+   
+   // Add default attributes.
    $field['attributes'] += _link_default_attributes();
    $attributes = isset($element['#value']['attributes']) ? $element['#value']['attributes'] : $field['attributes'];
+
+   // Unserialize attributes if necessary
+   if(!is_array($attributes)) {
+	 $attributes = unserialize($attributes);
+   }
+   
    if (!empty($field['attributes']['target']) && $field['attributes']['target'] == LINK_TARGET_USER) {
      $element['attributes']['target'] = array(
        '#type' => 'checkbox',
@@ -464,4 +471,4 @@ function link_views_api() {
  */
 function link_migrate_api() {
   return array('api' => 2);
-}
\ No newline at end of file
+}
