diff --git a/commands/make/make.download.inc b/commands/make/make.download.inc
index 6064d27..efaf955 100644
--- a/commands/make/make.download.inc
+++ b/commands/make/make.download.inc
@@ -245,7 +245,13 @@ function make_download_file_unpack($filename, $download_location, $name) {
       $success = make_download_file_unpack_zip($filename, $download_location);
       break;
     default:
-      $success = drush_shell_exec('mv %s %s', $filename, $download_location . ($name ? '/' . $name : ''));
+      // For files that don't require extraction, we must first make sure the
+      // destination folder exists.
+      if (drush_mkdir($download_location)) {
+        // Now that the destination directory exists, we can now move the file.
+        $destination = $download_location . ($name ? '/' . $name : '');
+        $success = drush_shell_exec('mv %s %s', $filename, $destination);
+      }
   }
   return $success ? $download_location : FALSE;
 }
