diff --git a/Geo/MLine.cpp b/Geo/MLine.cpp
index 5eaed4c83651c2b145dc7fdf314809483c0046de..4771a12613fd9a27bea33fa5972bd3fdf60a32f0 100644
--- a/Geo/MLine.cpp
+++ b/Geo/MLine.cpp
@@ -62,7 +62,11 @@ double MLine::getInnerRadius()
 
 #include "Bindings.h"
 static MLine* MLine_binding(std::vector<MVertex*> v) {
-  return new MLine(v);
+  if (v.size() == 2)
+    return new MLine(v);
+  if (v.size() == 3)
+    return new MLine3(v);
+  return new MLineN(v);
 }
 
 void MLine::registerBindings(binding *b)
diff --git a/Geo/MPrism.cpp b/Geo/MPrism.cpp
index d29fbe12dd88b38ab8a16d5c1d6071968ca88be3..22586f844df6f32916430fca77f0eb810bd185e2 100644
--- a/Geo/MPrism.cpp
+++ b/Geo/MPrism.cpp
@@ -181,7 +181,6 @@ void MPrism::registerBindings(binding *b)
   cb = b->addClass<MPrism18>("MPrism18");
   cb->setDescription("A mesh second-order prism.");
   cm = cb->addMethod("MPrism18",&MPrism18_binding);
-  // cm = cb->setConstructor<MPrism18_binding,std::vector<MVertex*> >();
   cm->setArgNames("vectorOfVertices", NULL);
   cm->setDescription("Create a new prism with vertices in vectorV (length=18).");
   cb->setParentClass<MPrism>();