diff --git a/Mesh/meshGFaceOptimize.cpp b/Mesh/meshGFaceOptimize.cpp
index 83c18d62edd93137d379f42a08518403a6be9020..db00f173ce45c1ca01d796d10c6abd3af57aca58 100644
--- a/Mesh/meshGFaceOptimize.cpp
+++ b/Mesh/meshGFaceOptimize.cpp
@@ -3127,6 +3127,9 @@ int recombineWithBlossom(GFace *gf, double dx, double dy,
 
 static int _recombineIntoQuads(GFace *gf, int recur_level, bool cubicGraph = 1)
 {
+  // never recombine a face that is part of a compound!
+  if(gf->getCompound()) return 0;
+
   int success = 1;
 
   std::set<MVertex*> emb_edgeverts;