diff --git a/entityqueue.info b/entityqueue.info
index 8b48728..b16ecc6 100644
--- a/entityqueue.info
+++ b/entityqueue.info
@@ -24,3 +24,6 @@ files[] = includes/views/entityqueue_handler_relationship_entityqueue.inc
 files[] = includes/views/entityqueue_handler_sort_position.inc
 files[] = includes/views/entityqueue_handler_argument_subqueue_id.inc
 files[] = includes/views/entityqueue_handler_filter_in_queue.inc
+
+; Migrate support.
+files[] = entityqueue.migrate.inc
diff --git a/entityqueue.migrate.inc b/entityqueue.migrate.inc
new file mode 100644
index 0000000..ce17230
--- /dev/null
+++ b/entityqueue.migrate.inc
@@ -0,0 +1,87 @@
+<?php
+
+/**
+ * @file
+ * Migrate support for Entityqueue module.
+ */
+
+/**
+ * DestinationHandler.
+ */
+class MigrateEntityqueueHandler extends MigrateDestinationHandler {
+
+  /**
+   * Constructor.
+   */
+  public function __construct() {
+    $this->registerTypes(array('entity'));
+  }
+
+  /**
+   * Overrides fields().
+   */
+  public function fields() {
+    return array('entityqueue' => t('Entityqueue where the entity belongs to.'));
+  }
+
+  /**
+   * Gets the entityqueues from $entity and returns them in an array.
+   */
+  protected function getEntityqueue($entity, $row) {
+    $migrate_entityqueue = array();
+    if (isset($entity->entityqueue) && !empty($entity->entityqueue)) {
+      $migrate_entityqueue = $entity->entityqueue;
+    }
+    // If it is not an array already, makes it one now.
+    if ($migrate_entityqueue && !is_array($migrate_entityqueue)) {
+      $migrate_entityqueue = array($migrate_entityqueue);
+    }
+    return $migrate_entityqueue;
+  }
+
+  /**
+   * Overrides complete().
+   *
+   * @param object $entity
+   *   The Drupal entity.
+   * @param object $row
+   *   The row being migrated.
+   */
+  public function complete($entity, stdClass $row) {
+
+    // Gets the entity_type of the Drupal entity.
+    $migration = Migration::currentMigration();
+    $destination = $migration->getDestination();
+    $entity_type = $destination->getEntityType();
+    // Gets the entityqueues where to include the entity.
+    $migrate_entityqueue = $this->getEntityqueue($entity, $row);
+
+    if (!empty($migrate_entityqueue)) {
+      // Adds $entity to the entityqueues received in $migrate_entityqueue
+      // after checking that they exist.
+      foreach ($migrate_entityqueue as $queue) {
+        $entityqueue = entityqueue_subqueue_load($queue);
+        if ($entityqueue != FALSE) {
+          $id = entity_id($entity_type, $entity);
+          $key = 'eq_' . $entity_type;
+          $entityqueue->{$key}[LANGUAGE_NONE][] = array('target_id' => $id);
+          entityqueue_subqueue_save($entityqueue);
+        }
+      }
+    }
+  }
+
+}
+
+/**
+ * Implements hook_migrate_api().
+ */
+function entityqueue_migrate_api() {
+  $api = array(
+    'api' => 2,
+    'destination handlers' => array(
+      'MigrateEntityqueueHandler',
+    ),
+  );
+  return $api;
+}
