diff --git a/microdroid/microdroid.json b/microdroid/microdroid.json
index fbbee29..b1ef86a 100644
--- a/microdroid/microdroid.json
+++ b/microdroid/microdroid.json
@@ -5,23 +5,23 @@
       "partitions": [
         {
           "label": "boot_a",
-          "path": "/apex/com.android.virt/etc/fs/microdroid_boot-5.10.img"
+          "paths": ["/apex/com.android.virt/etc/fs/microdroid_boot-5.10.img"]
         },
         {
           "label": "vendor_boot_a",
-          "path": "/apex/com.android.virt/etc/fs/microdroid_vendor_boot-5.10.img"
+          "paths": ["/apex/com.android.virt/etc/fs/microdroid_vendor_boot-5.10.img"]
         },
         {
           "label": "vbmeta_a",
-          "path": "/apex/com.android.virt/etc/fs/microdroid_vbmeta.img"
+          "paths": ["/apex/com.android.virt/etc/fs/microdroid_vbmeta.img"]
         },
         {
           "label": "vbmeta_system_a",
-          "path": "/apex/com.android.virt/etc/fs/microdroid_vbmeta_system.img"
+          "paths": ["/apex/com.android.virt/etc/fs/microdroid_vbmeta_system.img"]
         },
         {
           "label": "super",
-          "path": "/apex/com.android.virt/etc/fs/microdroid_super.img"
+          "paths": ["/apex/com.android.virt/etc/fs/microdroid_super.img"]
         }
       ],
       "writable": false
@@ -30,7 +30,7 @@
       "partitions": [
         {
           "label": "uboot_env",
-          "path": "/apex/com.android.virt/etc/uboot_env.img"
+          "paths": ["/apex/com.android.virt/etc/uboot_env.img"]
         }
       ],
       "writable": false
diff --git a/virtualizationservice/src/payload.rs b/virtualizationservice/src/payload.rs
index 19a6d9f..aaf43e4 100644
--- a/virtualizationservice/src/payload.rs
+++ b/virtualizationservice/src/payload.rs
@@ -102,8 +102,7 @@
     // put metadata at the first partition
     let mut partitions = vec![Partition {
         label: String::from("metadata"),
-        path: Some(metadata_path),
-        paths: vec![],
+        paths: vec![metadata_path],
         writable: false,
     }];
 
@@ -117,9 +116,9 @@
 
         if make_filler(size, &filler_path)? {
             filler_count += 1;
-            Ok(Partition { label, path: None, paths: vec![path, filler_path], writable: false })
+            Ok(Partition { label, paths: vec![path, filler_path], writable: false })
         } else {
-            Ok(Partition { label, path: Some(path), paths: vec![], writable: false })
+            Ok(Partition { label, paths: vec![path], writable: false })
         }
     };
     for (i, apex) in apexes.iter().enumerate() {
diff --git a/vmconfig/src/lib.rs b/vmconfig/src/lib.rs
index e5c8e1b..7b0d2a5 100644
--- a/vmconfig/src/lib.rs
+++ b/vmconfig/src/lib.rs
@@ -121,9 +121,6 @@
     pub label: String,
     /// The filename of the partition image.
     #[serde(default)]
-    pub path: Option<PathBuf>,
-    /// The filename of the partition image.
-    #[serde(default)]
     pub paths: Vec<PathBuf>,
     /// Whether the partition should be writable.
     #[serde(default)]
@@ -132,26 +129,15 @@
 
 impl Partition {
     fn to_parcelable(&self) -> Result<AidlPartition> {
-        if !self.paths.is_empty() {
-            if self.path.is_some() {
-                bail!("Partition {} contains both path/paths", &self.label);
-            }
-            let images = self
-                .paths
-                .iter()
-                .map(|path| open_parcel_file(&path, self.writable))
-                .collect::<Result<Vec<_>, _>>()?;
-            Ok(AidlPartition { images, writable: self.writable, label: self.label.to_owned() })
-        } else {
-            let path = self.path.as_ref().ok_or_else(|| {
-                Error::msg(format!("Partition {} doesn't set path/paths", &self.label))
-            })?;
-            Ok(AidlPartition {
-                images: vec![open_parcel_file(&path, self.writable)?],
-                writable: self.writable,
-                label: self.label.to_owned(),
-            })
+        if self.paths.is_empty() {
+            bail!("Partition {} contains no paths", &self.label);
         }
+        let images = self
+            .paths
+            .iter()
+            .map(|path| open_parcel_file(&path, self.writable))
+            .collect::<Result<Vec<_>, _>>()?;
+        Ok(AidlPartition { images, writable: self.writable, label: self.label.to_owned() })
     }
 }
 
