diff --git a/boot_control_android.cc b/boot_control_android.cc
index f4e0a4b..2d2b77e 100644
--- a/boot_control_android.cc
+++ b/boot_control_android.cc
@@ -323,12 +323,17 @@
     total_size += group.size;
   }
 
-  if (total_size > (builder->AllocatableSpace() / 2)) {
-    LOG(ERROR)
-        << "The maximum size of all groups with suffix " << target_suffix
-        << " (" << total_size
-        << ") has exceeded half of allocatable space for dynamic partitions "
-        << (builder->AllocatableSpace() / 2) << ".";
+  string expr;
+  uint64_t allocatable_space = builder->AllocatableSpace();
+  if (!dynamic_control->IsDynamicPartitionsRetrofit()) {
+    allocatable_space /= 2;
+    expr = "half of ";
+  }
+  if (total_size > allocatable_space) {
+    LOG(ERROR) << "The maximum size of all groups with suffix " << target_suffix
+               << " (" << total_size << ") has exceeded " << expr
+               << "allocatable space for dynamic partitions "
+               << allocatable_space << ".";
     return false;
   }
 
diff --git a/boot_control_android_unittest.cc b/boot_control_android_unittest.cc
index 6460ffe..2375714 100644
--- a/boot_control_android_unittest.cc
+++ b/boot_control_android_unittest.cc
@@ -273,6 +273,8 @@
 
     ON_CALL(dynamicControl(), IsDynamicPartitionsEnabled())
         .WillByDefault(Return(true));
+    ON_CALL(dynamicControl(), IsDynamicPartitionsRetrofit())
+        .WillByDefault(Return(false));
     ON_CALL(dynamicControl(), GetDeviceDir(_))
         .WillByDefault(Invoke([](auto path) {
           *path = kFakeDevicePath;
diff --git a/dynamic_partition_control_android.cc b/dynamic_partition_control_android.cc
index 93a0fae..bd34ea9 100644
--- a/dynamic_partition_control_android.cc
+++ b/dynamic_partition_control_android.cc
@@ -54,7 +54,7 @@
   return GetBoolProperty(kUseDynamicPartitions, false);
 }
 
-static bool IsDynamicPartitionsRetrofit() {
+bool DynamicPartitionControlAndroid::IsDynamicPartitionsRetrofit() {
   return GetBoolProperty(kRetrfoitDynamicPartitions, false);
 }
 
diff --git a/dynamic_partition_control_android.h b/dynamic_partition_control_android.h
index 52d4f5b..0ccab4e 100644
--- a/dynamic_partition_control_android.h
+++ b/dynamic_partition_control_android.h
@@ -30,6 +30,7 @@
   DynamicPartitionControlAndroid() = default;
   ~DynamicPartitionControlAndroid();
   bool IsDynamicPartitionsEnabled() override;
+  bool IsDynamicPartitionsRetrofit() override;
   bool MapPartitionOnDeviceMapper(const std::string& super_device,
                                   const std::string& target_partition_name,
                                   uint32_t slot,
diff --git a/dynamic_partition_control_interface.h b/dynamic_partition_control_interface.h
index b92d88a..86a0730 100644
--- a/dynamic_partition_control_interface.h
+++ b/dynamic_partition_control_interface.h
@@ -35,6 +35,9 @@
   // Return true iff dynamic partitions is enabled on this device.
   virtual bool IsDynamicPartitionsEnabled() = 0;
 
+  // Return true iff dynamic partitions is retrofitted on this device.
+  virtual bool IsDynamicPartitionsRetrofit() = 0;
+
   // Map logical partition on device-mapper.
   // |super_device| is the device path of the physical partition ("super").
   // |target_partition_name| is the identifier used in metadata; for example,
diff --git a/mock_dynamic_partition_control.h b/mock_dynamic_partition_control.h
index 7b37581..24aca06 100644
--- a/mock_dynamic_partition_control.h
+++ b/mock_dynamic_partition_control.h
@@ -47,6 +47,7 @@
                     uint32_t));
   MOCK_METHOD1(GetDeviceDir, bool(std::string*));
   MOCK_METHOD0(IsDynamicPartitionsEnabled, bool());
+  MOCK_METHOD0(IsDynamicPartitionsRetrofit, bool());
 };
 
 }  // namespace chromeos_update_engine
