diff --git a/lib/Drupal/migrate/Plugin/migrate/source/d6/User.php b/lib/Drupal/migrate/Plugin/migrate/source/d6/User.php
index 5b8aa3c..887189a 100644
--- a/lib/Drupal/migrate/Plugin/migrate/source/d6/User.php
+++ b/lib/Drupal/migrate/Plugin/migrate/source/d6/User.php
@@ -7,6 +7,7 @@
 
 namespace Drupal\migrate\Plugin\migrate\source\d6;
 
+use Drupal\migrate\Plugin\RequirementsInterface;
 use Drupal\migrate\Plugin\migrate\source\d6\Drupal6SqlBase;
 
 /**
@@ -14,7 +15,7 @@ use Drupal\migrate\Plugin\migrate\source\d6\Drupal6SqlBase;
  *
  * @PluginId("drupal6_user")
  */
-class User extends Drupal6SqlBase {
+class User extends Drupal6SqlBase implements RequirementsInterface {
 
   /**
    * {@inheritdoc}
@@ -31,6 +32,7 @@ class User extends Drupal6SqlBase {
    * {@inheritdoc}
    */
   public function fields() {
+    //TODO: Added profile fields if module profile is enable.
     return array(
       'uid' => t('User ID'),
       'name' => t('Username'),
@@ -54,4 +56,28 @@ class User extends Drupal6SqlBase {
     );
   }
 
+  function prepareRow(Row $row, $keep = TRUE) {
+    if ($this->moduleExists('profile')) {
+      // Find profile values for this row.
+      $query = $this->database
+        ->select('profile_values', 'pv', array('fetch' => \PDO::FETCH_ASSOC))
+        ->fields('pv', array('fid', 'value'));
+      $query->leftJoin('profile_fields', 'pf', 'pf.fid=pv.fid');
+      $query->fields('pf', array('name', 'type'));
+      $query->condition('uid', $row->getSourceProperty('uid'));
+      $results = $query->execute();
+
+      foreach ($results as $profile_value) {
+        //Check special case for date. We need unserialize.
+        if ($profile_value['type'] == 'date') {
+          $row->setSourceProperty($profile_value['name'], array(unserialize($profile_value['value'])));
+        }
+        else {
+          $row->setSourceProperty($profile_value['name'], array($profile_value['value']));
+        }
+      }
+    }
+    return parent::prepareRow($row);
+  }
+
 }
