diff --git a/scripts/update_payload/applier.py b/scripts/update_payload/applier.py
index 49db8ae..c63e156 100644
--- a/scripts/update_payload/applier.py
+++ b/scripts/update_payload/applier.py
@@ -643,13 +643,13 @@
 
     manifest = self.payload.manifest
     if self.payload.header.version == 1:
-      for name in common.CROS_PARTITIONS:
-        new_part_info[name] = getattr(manifest, 'new_%s_info' % name)
-        old_part_info[name] = getattr(manifest, 'old_%s_info' % name)
+      for real_name, proto_name in common.CROS_PARTITIONS:
+        new_part_info[real_name] = getattr(manifest, 'new_%s_info' % proto_name)
+        old_part_info[real_name] = getattr(manifest, 'old_%s_info' % proto_name)
 
-        install_operations.append((common.ROOTFS, manifest.install_operations))
-        install_operations.append((common.KERNEL,
-                                   manifest.kernel_install_operations))
+      install_operations.append((common.ROOTFS, manifest.install_operations))
+      install_operations.append((common.KERNEL,
+                                 manifest.kernel_install_operations))
     else:
       for part in manifest.partitions:
         name = part.partition_name
diff --git a/scripts/update_payload/checker.py b/scripts/update_payload/checker.py
index d3230cc..746d4be 100644
--- a/scripts/update_payload/checker.py
+++ b/scripts/update_payload/checker.py
@@ -628,11 +628,11 @@
                           'signatures_offset', 'signatures_size', 'manifest')
 
     if self.major_version == 1:
-      for part in common.CROS_PARTITIONS:
-        self.old_part_info[part] = self._CheckOptionalSubMsg(
-            manifest, 'old_%s_info' % part, report)
-        self.new_part_info[part] = self._CheckMandatorySubMsg(
-            manifest, 'new_%s_info' % part, report, 'manifest')
+      for real_name, proto_name in common.CROS_PARTITIONS:
+        self.old_part_info[real_name] = self._CheckOptionalSubMsg(
+            manifest, 'old_%s_info' % proto_name, report)
+        self.new_part_info[real_name] = self._CheckMandatorySubMsg(
+            manifest, 'new_%s_info' % proto_name, report, 'manifest')
 
       # Check: old_kernel_info <==> old_rootfs_info.
       self._CheckPresentIff(self.old_part_info[common.KERNEL].msg,
@@ -647,7 +647,7 @@
             part, 'new_partition_info', report, 'manifest.partitions')
 
       # Check: Old-style partition infos should not be specified.
-      for part in common.CROS_PARTITIONS:
+      for _, part in common.CROS_PARTITIONS:
         self._CheckElemNotPresent(manifest, 'old_%s_info' % part, 'manifest')
         self._CheckElemNotPresent(manifest, 'new_%s_info' % part, 'manifest')
 
diff --git a/scripts/update_payload/common.py b/scripts/update_payload/common.py
index 88df32e..9061a754 100644
--- a/scripts/update_payload/common.py
+++ b/scripts/update_payload/common.py
@@ -43,8 +43,9 @@
 PUFFDIFF_MINOR_PAYLOAD_VERSION = 5
 
 KERNEL = 'kernel'
-ROOTFS = 'rootfs'
-CROS_PARTITIONS = (KERNEL, ROOTFS)
+ROOTFS = 'root'
+# Tuple of (name in system, name in protobuf).
+CROS_PARTITIONS = ((KERNEL, KERNEL), (ROOTFS, 'rootfs'))
 
 #
 # Payload operation types.
