diff --git a/core/modules/migrate/src/Plugin/migrate/destination/EntityFile.php b/core/modules/migrate/src/Plugin/migrate/destination/EntityFile.php
old mode 100644
new mode 100755
index b338fba..4a8e16f
--- a/core/modules/migrate/src/Plugin/migrate/destination/EntityFile.php
+++ b/core/modules/migrate/src/Plugin/migrate/destination/EntityFile.php
@@ -28,9 +28,10 @@ class EntityFile extends EntityContentBase {
    * {@inheritdoc}
    */
   public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration, EntityStorageInterface $storage, array $bundles, EntityManagerInterface $entity_manager) {
+
     $configuration += array(
       'source_base_path' => '',
-      'source_path_property' => 'filepath',
+      'source_path_property' => 'file path', 
       'destination_path_property' => 'uri',
       'move' => FALSE,
       'urlencode' => FALSE,
@@ -42,19 +43,8 @@ public function __construct(array $configuration, $plugin_id, $plugin_definition
    * {@inheritdoc}
    */
   public function import(Row $row, array $old_destination_id_values = array()) {
-    $file = $row->getSourceProperty($this->configuration['source_path_property']);
+    $source = $row->getSourceProperty($this->configuration['source_base_path']) . $row->getSourceProperty($this->configuration['source_path_property']);
     $destination = $row->getDestinationProperty($this->configuration['destination_path_property']);
-
-    // We check the destination to see if this is a temporary file. If it is
-    // then we do not prepend the source_base_path because temporary files are
-    // already absolute.
-    $source = $this->isTempFile($destination) ? $file : $this->configuration['source_base_path'] . $file;
-
-    // If the start and end file is exactly the same, there is nothing to do.
-    if (drupal_realpath($source) === drupal_realpath($destination)) {
-      return parent::import($row, $old_destination_id_values);
-    }
-
     $replace = FILE_EXISTS_REPLACE;
     if (!empty($this->configuration['rename'])) {
       $entity_id = $row->getDestinationProperty($this->getKey('id'));
@@ -78,7 +68,7 @@ public function import(Row $row, array $old_destination_id_values = array()) {
         throw new MigrateException(t('File %file could not be copied because a file by that name already exists in the destination directory (%destination)', array('%file' => $source, '%destination' => $original_destination)));
       }
       $source = $this->urlencode($source);
-      $copied = copy($source, $destination);
+      $copied = copy($source, $destination);   
     }
     if ($copied) {
       return parent::import($row, $old_destination_id_values);
@@ -113,18 +103,4 @@ protected function urlencode($filename) {
     return $filename;
   }
 
-  /**
-   * Check if a file is a temp file.
-   *
-   * @param string $file
-   *   The destination file path.
-   *
-   * @return bool
-   *   TRUE if the file is temporary otherwise FALSE.
-   */
-  protected function isTempFile($file) {
-    $tmp = 'temporary://';
-    return substr($file, 0, strlen($tmp)) === $tmp;
-  }
-
 }
diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d7_user_picture_file.yml b/core/modules/migrate_drupal/config/install/migrate.migration.d7_user_picture_file.yml
new file mode 100644
index 0000000..48ef7ed
--- /dev/null
+++ b/core/modules/migrate_drupal/config/install/migrate.migration.d7_user_picture_file.yml
@@ -0,0 +1,28 @@
+id: d7_user_picture_file
+label: Drupal 7 user pictures
+migration_groups:
+  - Drupal 7
+source:
+  plugin: d7_user_picture_file
+  constants:
+    is_public: true
+process:
+  filename: filename
+  uri:
+    plugin: file_uri
+    source:
+      - picture
+      - file_directory_path
+      - 'constants/is_public'
+destination:
+  plugin: entity:file
+  source_path_property: picture
+  source_base_path: source
+migration_dependencies:
+  # Every migration that saves into {file_managed} must have the d6_file
+  # migration as an optional dependency to ensure it runs first.
+  optional:
+    - d6_file
+dependencies:
+  module:
+    - file
diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/source/d7/UserPictureFile.php b/core/modules/migrate_drupal/src/Plugin/migrate/source/d7/UserPictureFile.php
new file mode 100644
index 0000000..83f53c0
--- /dev/null
+++ b/core/modules/migrate_drupal/src/Plugin/migrate/source/d7/UserPictureFile.php
@@ -0,0 +1,110 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate_drupal\Plugin\migrate\source\d7\UserPictureFile.
+ */
+
+namespace Drupal\migrate_drupal\Plugin\migrate\source\d7;
+
+use Drupal\migrate_drupal\Plugin\migrate\source\DrupalSqlBase;
+use Drupal\migrate\Row;
+
+/**
+ * Drupal 7 user picture source from database.
+ *
+ * @MigrateSource(
+ *   id = "d7_user_picture_file"
+ * )
+ */
+class UserPictureFile extends DrupalSqlBase {
+
+  /**
+   * The file directory path.
+   *
+   * @var string
+   */
+  protected $filePath;
+
+   
+
+  /**
+   * {@inheritdoc}
+   */
+  public function query() {
+    $query = $this->select('users', 'u')
+      ->condition('picture', 0, '>')
+      ->fields('u', array('uid', 'picture'));
+    return $query;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function runQuery() {
+    $conf_path = isset($this->configuration['conf_path']) ? $this->configuration['conf_path'] : 'sites/default';
+    $this->filePath = $this->variableGet('file_directory_path', $conf_path . '/files') . '/';
+    return parent::runQuery();
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function prepareRow(Row $row) {
+    $query = $this->select('file_managed', 'f')
+      ->fields('f', array('filename','uri'))
+      ->condition('fid',basename($row->getSourceProperty('picture')))
+      ->execute();
+
+   foreach ($query as $value) {
+    $source_path = '';
+    $row->setSourceProperty('filename', $value['filename']);
+    $uri = $value['uri'];
+    $flag = file_uri_scheme($uri);
+    if($flag == 'public') {
+     $source_path = $_SESSION['migrate_site_address'] .'/';
+      $query_aux = $this->select('variable', 'v')
+      ->fields('v', array('value'))
+      ->condition('name','file_public_path')
+      ->execute();
+      $results = $query_aux->fetchAssoc();
+      $replace = "public://";
+     }
+    else {
+      $source_path = $_SESSION['migrate_private_file_directory'];
+      $query_aux = $this->select('variable', 'v')
+        ->fields('v', array('value'))
+        ->condition('name','file_private_path')
+        ->execute();
+      $results = $query_aux->fetchAssoc();
+      $replace = "private://";
+    }
+    $aux_path = unserialize($results['value']);
+    $aux_uri = str_replace($replace,"", $uri);
+    $uri = $aux_path . '/' . $aux_uri;
+
+    $row->setSourceProperty('file_directory_path', $aux_path );
+    $row->setSourceProperty('picture', $uri);
+    $row->setSourceProperty('source',$source_path);
+  }
+    return parent::prepareRow($row);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function fields() {
+    return array(
+      'picture' => "Path to the user's uploaded picture.",
+      'filename' => 'The picture filename.',
+    );
+  }
+  /**
+   * {@inheritdoc}
+   */
+  public function getIds() {
+    $ids['uid']['type'] = 'integer';
+    return $ids;
+  }
+
+}
