diff --git a/core/modules/migrate/src/Plugin/migrate/destination/EntityFile.php b/core/modules/migrate/src/Plugin/migrate/destination/EntityFile.php
index 77b471f..2ebeeb4 100644
--- a/core/modules/migrate/src/Plugin/migrate/destination/EntityFile.php
+++ b/core/modules/migrate/src/Plugin/migrate/destination/EntityFile.php
@@ -50,6 +50,11 @@ public function import(Row $row, array $old_destination_id_values = array()) {
     // already absolute.
     $source = $this->isTempFile($destination) ? $file : $this->configuration['source_base_path'] . $file;
 
+    // Ensure that the source file actually exists, and flip out if it doesn't.
+    if (!is_file($source)) {
+      throw new MigrateException(t('File %source does not exist.', array('%source' => $source)));
+    }
+
     $dirname = drupal_dirname($destination);
     if (!file_prepare_directory($dirname, FILE_CREATE_DIRECTORY)) {
       throw new MigrateException(t('Could not create directory %dirname', array('%dirname' => $dirname)));
