diff --git a/demos/boolean/extrude.geo b/demos/boolean/extrude.geo
index 2cbe66601c9ee5cf933391b409568457c48473e1..c2e03e6a78ae1ae8212acbfaafdb8c7662c96bc4 100644
--- a/demos/boolean/extrude.geo
+++ b/demos/boolean/extrude.geo
@@ -35,8 +35,8 @@ DefineConstant[
 
 If(order == 0)
   Extrude{0,0,0.3}{ Surface{1:3}; }
-  BooleanFragments{ Volume{1}; Delete; }{ Volume{2:3}; Delete; }
   Delete{ Surface{1:3}; }
+  BooleanFragments{ Volume{1}; Delete; }{ Volume{2:3}; Delete; }
 Else
   BooleanFragments{ Surface{1}; Delete; }{ Surface{2:3}; Delete; }
   Extrude{0,0,0.3}{ Surface{1:5}; }
diff --git a/demos/boolean/fillet.geo b/demos/boolean/fillet.geo
index 30ce63d1c726e58c84cb5dfc3a3ed3f275c24af5..e3e30057ef7d1c2e0d5e4a0a54d7de7f353bf958 100644
--- a/demos/boolean/fillet.geo
+++ b/demos/boolean/fillet.geo
@@ -12,4 +12,4 @@ Fillet{1}{e()}{0.2}
 tmp() = Fillet{1}{1,2,4}{0.05};
 Translate{2,0,0} { Volume{tmp(0)}; }
 
-Delete{ Volume{1}; Surface{f()}; Line{e()}; }
+Recursive Delete{ Volume{1}; }
diff --git a/demos/boolean/fillet2.geo b/demos/boolean/fillet2.geo
index acfabf0eea0a663dcd8bf20927737768add7b9c1..51c4fe22ce8c001511a736f7ed1de76a64085ce1 100644
--- a/demos/boolean/fillet2.geo
+++ b/demos/boolean/fillet2.geo
@@ -10,4 +10,4 @@ e() = Unique(Abs(Boundary{ Surface{f()}; }));
 
 Fillet{a()}{e()}{1}
 
-Delete{ Volume{a()}; Surface{f()}; Line{e()}; }
+Recursive Delete{ Volume{a()}; }