diff --git a/pathauto.info b/pathauto.info
index fbfc18a..ee01fc3 100644
--- a/pathauto.info
+++ b/pathauto.info
@@ -3,6 +3,7 @@ description = Provides a mechanism for modules to automatically generate aliases
 dependencies[] = path
 dependencies[] = token
 core = 7.x
+files[] = pathauto.migrate.inc
 files[] = pathauto.test
 configure = admin/config/search/path/patterns
 recommends[] = redirect
diff --git a/pathauto.migrate.inc b/pathauto.migrate.inc
new file mode 100644
index 0000000..0ab3a74
--- /dev/null
+++ b/pathauto.migrate.inc
@@ -0,0 +1,58 @@
+<?php
+
+/**
+ * @file
+ * Support for the Pathauto module.
+ */
+
+/**
+ * Field handler.
+ */
+class MigratePathautoHandler extends MigrateDestinationHandler {
+  public function __construct() {
+    $this->registerTypes(array('node', 'user', 'taxonomy_term'));
+  }
+
+  /**
+   * Make the destination field visible.
+   */
+  public function fields() {
+    return array(
+      'pathauto' =>
+        t('Pathauto: Perform aliasing (set to 0 to prevent alias generation ' .
+          'during migration'),
+    );
+  }
+
+  public function prepare($entity, stdClass $row) {
+    if (isset($entity->pathauto)) {
+      if (!isset($entity->path)) {
+        $entity->path = array();
+      }
+      elseif (is_string($entity->path)) {
+        // If MigratePathEntityHandler->prepare() hasn't run yet, support
+        // the alias (set as $entity->path as a string) being formatted properly
+        // in the path alias array.
+        $path = $entity->path;
+        $entity->path = array();
+        $entity->path['alias'] = $path;
+      }
+      $entity->path['pathauto'] = $entity->pathauto;
+      if (!isset($entity->path['alias'])) {
+        $entity->path['alias'] = '';
+      }
+      unset($entity->pathauto);
+    }
+  }
+}
+
+/*
+ * Implementation of hook_migrate_api().
+ */
+function pathauto_migrate_api() {
+  $api = array(
+    'api' => 2,
+    'destination handlers' => array('MigratePathautoHandler'),
+  );
+  return $api;
+}
