diff --git a/Applications/Utils/MeshEdit/removeMeshElements.cpp b/Applications/Utils/MeshEdit/removeMeshElements.cpp
index 969c4f912055e52c60c793cae5c9c7ffd4a78467..56a9e3148a4863c1aebefa71bd6f042f463e73ad 100644
--- a/Applications/Utils/MeshEdit/removeMeshElements.cpp
+++ b/Applications/Utils/MeshEdit/removeMeshElements.cpp
@@ -103,8 +103,15 @@ int main (int argc, char* argv[])
     // Non-bounding-box params
     TCLAP::SwitchArg zveArg("z", "zero-volume", "remove zero volume elements", false);
     cmd.add(zveArg);
-    TCLAP::MultiArg<std::string> eleTypeArg("t", "element-type",
-                                          "element type to be removed", false, "element type");
+
+    std::vector<std::string> allowed_ele_types{"line",  "tri", "quad",   "hex",
+                                               "prism", "tet", "pyramid"};
+    TCLAP::ValuesConstraint<std::string> allowedVals{allowed_ele_types};
+    TCLAP::MultiArg<std::string> eleTypeArg(
+        "t", "element-type",
+        "element type to be removed: line | tri | quad | hex | prism | tet | "
+        "pyramid",
+        false, &allowedVals);
     cmd.add(eleTypeArg);
 
     // scalar array params