diff --git a/migrations/pollchoice.yml b/migrations/pollchoice.yml
new file mode 100644
index 000000000..d52b33e35
--- /dev/null
+++ b/migrations/pollchoice.yml
@@ -0,0 +1,19 @@
+id: pollchoice
+label: Migrate Poll choices
+migration_tags:
+  - Drupal 7
+source:
+  plugin: pollchoice
+process:
+  langcode:    
+    plugin: default_value
+    source: language
+    default_value: "und"
+  choice: chtext
+  entity_id: pid
+destination:
+  plugin: entity:PollChoice
+dependencies:
+  required:
+    - user
+    - pollquestion
\ No newline at end of file
diff --git a/migrations/pollquestion.yml b/migrations/pollquestion.yml
new file mode 100644
index 000000000..f481c0a23
--- /dev/null
+++ b/migrations/pollquestion.yml
@@ -0,0 +1,24 @@
+id: pollquestion
+label: Migrate Poll Question
+migration_tags:
+  - Drupal 7
+source:
+  plugin: poll
+process:
+  uid: uid
+  question: title
+  langcode:    
+    plugin: default_value
+    source: language
+    default_value: "und"
+  runtime: runtime
+  status: status
+  created: created
+  log: log
+  timestamp: timestamp
+  active: active
+destination:
+  plugin: entity:poll
+migration_dependencies:
+  required:
+    - user
\ No newline at end of file
diff --git a/src/Plugin/migrate/source/Poll.php b/src/Plugin/migrate/source/Poll.php
new file mode 100644
index 000000000..985bc2a5b
--- /dev/null
+++ b/src/Plugin/migrate/source/Poll.php
@@ -0,0 +1,94 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\poll\Plugin\migrate\source\Poll.
+ */
+
+namespace Drupal\poll\Plugin\migrate\source;
+
+use Drupal\migrate\Plugin\migrate\source\SqlBase;
+use Drupal\migrate\Row;
+
+/**
+ * Source plugin to migrate Polls
+ *
+ * @MigrateSource(
+ *   id = "poll",
+ *   source_module = "poll"
+ * )
+ */
+class Poll extends SqlBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function query() {
+    // Select poll in its last revision.
+    $query = $this->select('node_revision', 'nr')
+      ->fields('n', array(
+        'nid',
+		'uid',
+        'type',
+        'language',
+        'status',
+        'created',
+        'changed',
+        'comment',
+        'promote',
+        'sticky',
+        'tnid',
+        'translate',
+      ))
+      ->fields('nr', array(
+        'vid',
+        'title',
+        'log',
+        'timestamp',
+      ))
+      ->fields('p', array(
+        'runtime',
+        'active',
+      ));
+    $query->addField('n', 'nid', 'pid');
+	$query->innerJoin('node', 'n', 'n.vid = nr.vid');
+    $query->innerJoin('poll', 'p', 'n.vid = p.nid');
+    $query->condition('n.type', 'poll');
+
+    return $query;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function fields() {
+    $fields = array(
+      'nid' => $this->t('Node ID'),
+	  'pid' => $this->t('Poll ID'),
+      'type' => $this->t('Type'),
+      'title' => $this->t('Title'),
+      'uid' => $this->t('Node authored by (uid)'),
+      'created' => $this->t('Created timestamp'),
+      'changed' => $this->t('Modified timestamp'),
+      'status' => $this->t('Published'),
+      'promote' => $this->t('Promoted to front page'),
+      'sticky' => $this->t('Sticky at top of lists'),
+      'revision' => $this->t('Create new revision'),
+      'language' => $this->t('Language (fr, en, ...)'),
+      'tnid' => $this->t('The translation set id for this node'),
+      'timestamp' => $this->t('The timestamp the latest revision of this node was created.'),
+      'runtime' => $this->t('Poll runtime'),
+      'active' => $this->t('Poll Active status')
+    );
+    return $fields;
+  }
+  
+  /**
+   * {@inheritdoc}
+   */
+  public function getIds() {
+	$ids['pid']['type'] = 'integer';
+    return $ids;
+  }
+
+}
\ No newline at end of file
diff --git a/src/Plugin/migrate/source/PollChoice.php b/src/Plugin/migrate/source/PollChoice.php
new file mode 100644
index 000000000..8906502e7
--- /dev/null
+++ b/src/Plugin/migrate/source/PollChoice.php
@@ -0,0 +1,64 @@
+<?php
+/**
+ * @file
+ * Contains \Drupal\poll\Plugin\migrate\source\PollChoice.
+ */
+
+namespace Drupal\poll\Plugin\migrate\source;
+
+use Drupal\migrate\Plugin\migrate\source\SqlBase;
+use Drupal\migrate\Row;
+
+/**
+ * Source plugin to migrate Poll choices.
+ *
+ * @MigrateSource(
+ *   id = "pollchoice",
+ *   source_module = "poll"
+ * )
+ */
+class PollChoice extends SqlBase {
+  /**
+   * {@inheritdoc}
+   */
+  public function query() {
+    // Select poll in its last revision.
+    $query = $this->select('poll_choice')
+      ->fields('pc', array(
+        'chid',
+		'nid',
+        'chtext',
+        'weight',
+      ));
+    $query->addField('pc', 'nid', 'pid');
+    
+	return $query;
+  }
+
+
+
+
+  /**
+   * {@inheritdoc}
+   */
+  public function fields() {
+    $fields = array(
+	  'nid' => $this->t('Node ID'),
+	  'pid' => $this->t('Poll Node ID'),
+	  'chtext' => $this->t('Text of the Poll option'),
+	  'chid' => $this->t('Unique identifier of a poll choice.'),
+	  'weight' => $this->t('The sort order of this choice among all choices')
+    );
+    return $fields;
+  }
+  
+  /**
+   * {@inheritdoc}
+   */
+  public function getIds() {
+	$ids['nid']['type'] = 'integer';
+	$ids['chid']['type'] = 'integer';
+    return $ids;
+  }
+
+}
\ No newline at end of file
