diff --git a/MeshLib/Elements/Element.h b/MeshLib/Elements/Element.h
index 66642ead389d66f42240560564163aa311da7148..a450662038014832f39868cb925b349630b222bb 100644
--- a/MeshLib/Elements/Element.h
+++ b/MeshLib/Elements/Element.h
@@ -89,7 +89,7 @@ public:
 	virtual const Element* getFace(unsigned i) const = 0;
 
 	/// Returns the ID of the element.
-	std::size_t getID() const { return _id; }
+	virtual std::size_t getID() const final { return _id; }
 
 	/// Get the number of edges for this element.
 	virtual unsigned getNEdges() const = 0;
@@ -203,7 +203,7 @@ protected:
 	explicit Element(std::size_t id);
 
 	/// Sets the element ID.
-	void setID(std::size_t id) { _id = id; }
+	virtual void setID(std::size_t id) final { _id = id; }
 
 	Node** _nodes;
 	std::size_t _id;