diff --git a/install_plan.h b/install_plan.h
index 81893d8..9151e1b 100644
--- a/install_plan.h
+++ b/install_plan.h
@@ -17,26 +17,22 @@
   InstallPlan(bool is_full,
               const std::string& url,
               const std::string& hash,
-              const std::string& d_path,
-              const std::string& i_path)
+              const std::string& install_path)
       : is_full_update(is_full),
         download_url(url),
         download_hash(hash),
-        download_path(d_path),
-        install_path(i_path) {}
+        install_path(install_path) {}
   InstallPlan() : is_full_update(false) {}
 
   bool is_full_update;
   std::string download_url;  // url to download from
   std::string download_hash;  // hash of the data at the url
-  std::string download_path;  // path to downloaded file from Omaha
   std::string install_path;  // path to install device
 
   bool operator==(const InstallPlan& that) const {
     return (is_full_update == that.is_full_update) &&
            (download_url == that.download_url) &&
            (download_hash == that.download_hash) &&
-           (download_path == that.download_path) &&
            (install_path == that.install_path);
   }
   bool operator!=(const InstallPlan& that) const {
@@ -46,7 +42,6 @@
     LOG(INFO) << "InstallPlan: "
               << (is_full_update ? "full_update" : "delta_update")
               << ", url: " << download_url << ", hash: " << download_hash
-              << ", path: " << download_path
               << ", install_path: " << install_path;
   }
 };
