diff --git a/docroot/sites/all/modules/contrib/link/link.info b/docroot/sites/all/modules/contrib/link/link.info
index 8a5d0c1..140c38f 100644
--- a/docroot/sites/all/modules/contrib/link/link.info
+++ b/docroot/sites/all/modules/contrib/link/link.info
@@ -5,6 +5,8 @@ package = Fields
 
 files[] = link.module
 files[] = link.install
+files[] = link.migrate.inc
+
 ; Tests
 files[] = tests/link.test
 files[] = tests/link.attribute.test
diff --git a/docroot/sites/all/modules/contrib/link/link.migrate.inc b/docroot/sites/all/modules/contrib/link/link.migrate.inc
new file mode 100644
index 0000000..e25fb3b
--- /dev/null
+++ b/docroot/sites/all/modules/contrib/link/link.migrate.inc
@@ -0,0 +1,66 @@
+<?php
+
+/**
+ * @file
+ * Support for migrate module
+ */
+
+class MigrateLinkFieldHandler extends MigrateFieldHandler {
+  public function __construct() {
+    $this->registerTypes(array('link_field'));
+  }
+
+  static function arguments($title = NULL, $attributes = NULL, $language = NULL) {
+    $arguments = array();
+    if (!is_null($title)) {
+      $arguments['title'] = $title;
+    }
+    if (!is_null($attributes)) {
+      $arguments['attributes'] = $attributes;
+    }
+    if (!is_null($language)) {
+      $arguments['language'] = $language;
+    }
+    return $arguments;
+  }
+
+  public function fields($migration = NULL) {
+    $fields = array(
+      'title' => t('Field: Link Title'),
+      'attributes' => t('Field: Link Attributes'),
+    );
+    return $fields;
+  }
+
+  public function prepare($entity, array $field_info, array $instance, array $values) {
+    if (isset($values['arguments'])) {
+      $arguments = $values['arguments'];
+      unset($values['arguments']);
+    }
+    else {
+      $arguments = array();
+    }
+
+    $language = $this->getFieldLanguage($entity, $field_info, $arguments);
+
+    foreach($values as $delta => $value) {
+      $item = array();
+      if (isset($arguments['title'])) {
+        if (!is_array($arguments['title'])) {
+          $item['title'] = $arguments['title'];
+        }
+        else if (isset($arguments['title'][$delta])) {
+          $item['title'] = $arguments['title'][$delta];
+        }
+      }
+      if (isset($arguments['attributes'])) {
+        $item['attributes'] = $arguments['attributes'];
+      }
+      $item['url'] = $value;
+      $return[$language][$delta] = $item;
+      $delta++;
+    }
+
+    return isset($return) ? $return : NULL;
+  }
+}
diff --git a/docroot/sites/all/modules/contrib/link/link.module b/docroot/sites/all/modules/contrib/link/link.module
index c7af1ff..16a5fad 100644
--- a/docroot/sites/all/modules/contrib/link/link.module
+++ b/docroot/sites/all/modules/contrib/link/link.module
@@ -878,6 +878,13 @@ function link_views_api() {
 }
 
 /**
+ * Implements hook_migrate_api().
+ */
+function link_migrate_api() {
+  return array('api' => 2);
+}
+
+/**
  * Forms a valid URL if possible from an entered address.
  * Trims whitespace and automatically adds an http:// to addresses without a protocol specified
  *
