diff --git a/payload_consumer/extent_map.h b/payload_consumer/extent_map.h
index aeb7066..65f1bcd 100644
--- a/payload_consumer/extent_map.h
+++ b/payload_consumer/extent_map.h
@@ -22,6 +22,7 @@
 #include <utility>
 
 #include "update_engine/common/utils.h"
+#include "update_engine/payload_generator/extent_utils.h"
 #include "update_engine/payload_generator/extent_ranges.h"
 #include "update_engine/update_metadata.pb.h"
 
@@ -35,7 +36,7 @@
 class ExtentMap {
  public:
   bool AddExtent(const Extent& extent, T&& value) {
-    if (Get(extent)) {
+    if (set_.OverlapsWithExtent(extent)) {
       return false;
     }
     const auto& [it, inserted] = map_.insert({extent, std::forward<T>(value)});
diff --git a/payload_consumer/extent_map_unittest.cc b/payload_consumer/extent_map_unittest.cc
index e7972cd..867038b 100644
--- a/payload_consumer/extent_map_unittest.cc
+++ b/payload_consumer/extent_map_unittest.cc
@@ -119,4 +119,17 @@
   ASSERT_EQ(ret[2].num_blocks(), 2U);
 }
 
+TEST_F(ExtentMapTest, GetSameStartBlock) {
+  ASSERT_TRUE(map_.AddExtent(ExtentForRange(0, 5), 7));
+  ASSERT_TRUE(map_.AddExtent(ExtentForRange(10, 5), 12));
+
+  const auto ret = map_.Get(ExtentForRange(0, 10));
+  // ASSERT_FALSE(ret.has_value()) << ret.value() won't work, because when |ret|
+  // doesn't have value, the part after '<<' after still evaluated, resulting in
+  // undefined behavior.
+  if (ret.has_value()) {
+    FAIL() << ret.value();
+  }
+}
+
 }  // namespace chromeos_update_engine
diff --git a/payload_generator/extent_ranges.h b/payload_generator/extent_ranges.h
index 4894831..8e3e261 100644
--- a/payload_generator/extent_ranges.h
+++ b/payload_generator/extent_ranges.h
@@ -37,6 +37,9 @@
 
 struct ExtentLess {
   bool operator()(const Extent& x, const Extent& y) const {
+    if (x.start_block() == y.start_block()) {
+      return x.num_blocks() < y.num_blocks();
+    }
     return x.start_block() < y.start_block();
   }
 };
