diff --git a/MeshLib/Elements/Element.cpp b/MeshLib/Elements/Element.cpp
index 5cc0a9f2fe94d290f2c93046f6b5f1f9d66c4c46..602e19a801f750f629477d82c61475f03540aa95 100644
--- a/MeshLib/Elements/Element.cpp
+++ b/MeshLib/Elements/Element.cpp
@@ -28,6 +28,11 @@ Element::Element(unsigned value, std::size_t id)
 {
 }
 
+Element::Element(std::size_t id)
+	: _nodes(nullptr), _id(id), _content(-1.0), _neighbors(nullptr)
+{
+}
+
 Element::~Element()
 {
 	delete [] this->_nodes;
diff --git a/MeshLib/Elements/Element.h b/MeshLib/Elements/Element.h
index 59b315f62969e50ce7acbabcc73dd771d0e86881..94069fd7eaa674d9a244014ace49c5bc3eb138fd 100644
--- a/MeshLib/Elements/Element.h
+++ b/MeshLib/Elements/Element.h
@@ -219,6 +219,10 @@ protected:
 	/// @param id     element id
 	Element(unsigned value, std::size_t id);
 
+	/// Constructor for a generic mesh element without an array of mesh nodes.
+	/// @param id     element id
+	explicit Element(std::size_t id);
+
 	/// Sets the element ID.
 	virtual void setID(std::size_t id) { this->_id = id; }