diff --git a/Tools/python/split_layers.py b/Tools/python/split_layers.py
index f6ea09ddf08c164d5834fd63a8cd3f198abc9617..58557cc0cccccf84bb71d9950fc43ab43a6184cb 100755
--- a/Tools/python/split_layers.py
+++ b/Tools/python/split_layers.py
@@ -129,9 +129,8 @@ def generate_gds_file(layout_path,cellname):
 
 		for layername in layer_mapping:
 			ncell=cell.copy(layername,deep_copy=True)
-			for idx in ncell.get_layers():
-				if not idx in layer_mapping[layername]:
-					ncell=ncell.remove_polygons(lambda pts, layer, datatype: layer == idx)
+			thelayers=layer_mapping[layername]
+			ncell=ncell.remove_polygons(lambda pts, layer, datatype: layer not in thelayers)
 			ncell=ncell.add(gdspy.Rectangle(p11, p12, 1))
 			ncell=ncell.add(gdspy.Rectangle(p21, p22, 1))
 			ncell=ncell.flatten(single_layer=1,single_datatype=1)