diff --git a/VHR/segmentation.py b/VHR/segmentation.py
index 31a247faf61c402fd2d6f319e55c30b48b1364b2..2ef0aadcf5a7ee935c002778fe9d41fd400aaae5 100644
--- a/VHR/segmentation.py
+++ b/VHR/segmentation.py
@@ -188,7 +188,7 @@ def write_qgis_seg_style(out_file, line_color='255,255,0,255', line_width=0.46):
         )
         return out_file
 
-def vectorize_tile(obj, startx, starty, sizex, sizey, out):
+def vectorize_tile(obj, startx, starty, sizex, sizey, to_do, out):
     print('Using startx {} and starty {}'.format(startx, starty))
     r = otb.itkRegion()
     r['index'][0], r['index'][1] = startx, starty
@@ -200,15 +200,20 @@ def vectorize_tile(obj, startx, starty, sizex, sizey, out):
     min_bb_y = 0
 
     rp = regionprops(np.squeeze(clip['array'].astype(np.int)))
+    to_do += [o.label for o in rp]
+
     for o in rp:
-        if (starty > 0 and o.bbox[0] == 0) or (startx > 0 and o.bbox[1] == 0):
-            clip['array'][clip['array'] == o.label] = 0
         if o.bbox[2] > sizey - 1 or o.bbox[3] > sizex - 1:
             clip['array'][clip['array'] == o.label] = 0
             if o.bbox[3] > sizex - 1 and sizex - o.bbox[1] > min_bb_x:
                 min_bb_x = sizex - o.bbox[1]
             if o.bbox[2] > sizey - 1 and sizey - o.bbox[0] > min_bb_y:
                 min_bb_y = sizey - o.bbox[0]
+        else:
+            if o not in to_do:
+                clip['array'][clip['array'] == o.label] = 0
+            else:
+                to_do.remove(o)
 
     vec = otb.Registry.CreateApplication('SimpleVectorization')
     vec.ImportImage('in', clip)
@@ -217,14 +222,14 @@ def vectorize_tile(obj, startx, starty, sizex, sizey, out):
 
     print('Returning min_bb_x {} and min_bb_y {}'.format(min_bb_x, min_bb_y))
 
-    return min_bb_x, min_bb_y
+    return min_bb_x, min_bb_y, to_do
 
 def tiled_vectorization(input_segm, nominal_tile_size, output_template):
     obj_to_tile_map = {}
     in_seg = to_otb_pipeline(input_segm)
     W,H = in_seg.GetImageSize('out')
     idx = 0
-    vec_list = []
+    to_do = []
     min_bb_x, min_bb_y = 0, 0
     for x in range(0,W,nominal_tile_size[0]):
         x = max(0, x - min_bb_x - 1)