diff --git a/src/lclayout/writer/lef_writer.py b/src/lclayout/writer/lef_writer.py
index 5b81ab7a35150e499865f8b7e615c75b6b8d17b9..dff2043c706802575e07d1fd6dc6b07a78ad1cc2 100644
--- a/src/lclayout/writer/lef_writer.py
+++ b/src/lclayout/writer/lef_writer.py
@@ -54,7 +54,8 @@ def region_to_geometries(region: db.Region, f: float, use_rectangles_only: bool
         # Decompose into rectangles.
         boxes = _decompose_region(region)
         region = db.Region()
-        region.insert(boxes)
+        for box in boxes:
+            region.insert(box)
 
     geometries = []
     for p in region.each():