diff --git a/Geo/GEdgeCompound.cpp b/Geo/GEdgeCompound.cpp
index cb4682e79934757bab4c86b6b1f6bf2db47fc7f7..c0ea4f4574a6509e20db8e6638c0b66d73f0d51c 100644
--- a/Geo/GEdgeCompound.cpp
+++ b/Geo/GEdgeCompound.cpp
@@ -26,8 +26,8 @@ static bool looksOk(int tag, std::vector<GEdge*> &compound)
       return false;
     }
     if(compound.size() > 1 && compound[i]->getBeginVertex() == compound[i]->getEndVertex()){
-      Msg::Error("Edge compound %d with subloop", tag);
-      return false;
+      Msg::Warning("Edge compound %d with subloop", tag);
+      return true;
     }
   }
   return true;
@@ -105,10 +105,6 @@ void GEdgeCompound::orderEdges()
       Msg::Error("Compounds don't support curves without two bounding vertices");
       return;
     }
-    if(v1 == v2){
-      Msg::Error("Compounds do not support periodic curves");
-      return;
-    }
     std::map<GVertex*, GEdge*>::iterator it1 = tempv.find(v1);
     if (it1 == tempv.end()) {
       tempv.insert(std::make_pair(v1, *it));
@@ -182,7 +178,7 @@ void GEdgeCompound::orderEdges()
         _orientation[0] = 0;
       }
       else {
-        Msg::Error("Compound Edge %d is wrong",tag());
+        Msg::Error("Compound Edge %d is wrong", tag());
         return;
       }
     }
diff --git a/benchmarks/3d/Falcon/falcon.script b/benchmarks/3d/Falcon/falcon.script
index 061a741cfa607726456c6e29e352ee617e70128d..af884b711366b41c611e56f392c53f731d91eb87 100644
--- a/benchmarks/3d/Falcon/falcon.script
+++ b/benchmarks/3d/Falcon/falcon.script
@@ -10,8 +10,6 @@ Mesh.CharacteristicLengthMax = lc;
 Mesh.LcIntegrationPrecision = 1.e-5;
 Mesh.MinimumCirclePoints = 50;
 Mesh.CharacteristicLengthExtendFromBoundary = 0;
-Mesh.CharacteristicLengthFromCurvature = 0;
-Mesh.CharacteristicLengthFromPoints = 0;
 
 Merge "InitialMeshFalcon.msh";