diff --git a/MeshLib/ElementStatus.cpp b/MeshLib/ElementStatus.cpp
index 683cea2fe2c6ed1bc0b075ab35399b57d24ea25c..25dde6b1d165df5af204d5587414aa8f0419ff95 100644
--- a/MeshLib/ElementStatus.cpp
+++ b/MeshLib/ElementStatus.cpp
@@ -29,9 +29,9 @@ ElementStatus::ElementStatus(Mesh const*const mesh)
 }
 
 
-std::vector<unsigned> ElementStatus::getActiveElements() const
+std::vector<std::size_t> ElementStatus::getActiveElements() const
 {
-	std::vector<unsigned> active_elements;
+	std::vector<std::size_t> active_elements;
 	active_elements.reserve(this->getNActiveElements());
 	const std::size_t nElems (_mesh->getNElements());
 	for (std::size_t i=0; i<nElems; ++i)
@@ -40,9 +40,9 @@ std::vector<unsigned> ElementStatus::getActiveElements() const
 	return active_elements;
 }
 
-std::vector<unsigned> ElementStatus::getActiveNodes() const 
+std::vector<std::size_t> ElementStatus::getActiveNodes() const 
 {
-	std::vector<unsigned> active_nodes;
+	std::vector<std::size_t> active_nodes;
 	active_nodes.reserve(this->getNActiveNodes());
 	const std::size_t nNodes (_mesh->getNNodes());
 	for (std::size_t i=0; i<nNodes; ++i)
@@ -51,11 +51,11 @@ std::vector<unsigned> ElementStatus::getActiveNodes() const
 	return active_nodes;
 }
 
-std::vector<unsigned> ElementStatus::getActiveElementsAtNode(unsigned node_id) const
+std::vector<std::size_t> ElementStatus::getActiveElementsAtNode(unsigned node_id) const
 {
 	const unsigned nActiveElements (_active_nodes[node_id]);
 	const std::vector<Element*> &elements (_mesh->getNode(node_id)->getElements());
-	std::vector<unsigned> active_elements;
+	std::vector<std::size_t> active_elements;
 	active_elements.reserve(nActiveElements);
 	for (auto elem = elements.begin(); elem != elements.end(); ++elem)
 	{
@@ -68,12 +68,12 @@ std::vector<unsigned> ElementStatus::getActiveElementsAtNode(unsigned node_id) c
 	return active_elements;
 }
 
-unsigned ElementStatus::getNActiveNodes() const 
+std::size_t ElementStatus::getNActiveNodes() const 
 {
 	return _active_nodes.size() - std::count(_active_nodes.begin(), _active_nodes.end(), 0);
 }
 
-unsigned ElementStatus::getNActiveElements() const 
+std::size_t ElementStatus::getNActiveElements() const 
 {
 	return static_cast<unsigned>(std::count(_element_status.begin(), _element_status.end(), true));
 }
@@ -93,7 +93,7 @@ void ElementStatus::setAll(bool status)
 		std::fill(_active_nodes.begin(), _active_nodes.end(), 0);
 }
 
-void ElementStatus::setElementStatus(unsigned i, bool status)
+void ElementStatus::setElementStatus(std::size_t i, bool status)
 {
 	if (_element_status[i] != status)
 	{
diff --git a/MeshLib/ElementStatus.h b/MeshLib/ElementStatus.h
index 90b61e47cf299d2b9fdf02912cbb04a2b5da6dd6..367bcda8f549ce5595fe7324ac4ebcd620f2fba1 100644
--- a/MeshLib/ElementStatus.h
+++ b/MeshLib/ElementStatus.h
@@ -29,34 +29,31 @@ class ElementStatus
 
 public:
 	/// Constructor
-	ElementStatus(MeshLib::Mesh const*const mesh);
+	explicit ElementStatus(MeshLib::Mesh const*const mesh);
 
 	/// Returns a vector of active element IDs
-	std::vector<unsigned> getActiveElements() const;
+	std::vector<std::size_t> getActiveElements() const;
 
 	/// Returns a vector of active node IDs
-	std::vector<unsigned> getActiveNodes() const;
+	std::vector<std::size_t> getActiveNodes() const;
 	
 	/// Returns the status of element i
-	bool getElementStatus(unsigned i) const { return _element_status[i]; }
+	bool getElementStatus(std::size_t i) const { return _element_status[i]; }
 
 	/// Returns a vector of active elements connected to a node
-	std::vector<unsigned> getActiveElementsAtNode(unsigned node_id) const;
+	std::vector<std::size_t> getActiveElementsAtNode(unsigned node_id) const;
 	
 	/// Returns the total number of active nodes
-	unsigned getNActiveNodes() const;
+	std::size_t getNActiveNodes() const;
 
 	/// Returns the total number of active elements
-	unsigned getNActiveElements() const;
-
-	/// Returns the status of element 
-	bool isActive(unsigned i) const { return _element_status[i]; } 
+	std::size_t getNActiveElements() const;
 
 	/// Activates/Deactives all mesh elements
 	void setAll(bool status);
 
 	/// Sets the status of element i
-	void setElementStatus(unsigned i, bool status);
+	void setElementStatus(std::size_t i, bool status);
 
 	/// Sets the status of material group i
 	void setMaterialStatus(unsigned material_id, bool status);
diff --git a/MeshLib/Elements/Element.h b/MeshLib/Elements/Element.h
index bb235a409304ecccfd380e81b2c48c79791ae188..c9ad7ae71bf1a8b59ffa9d7d68aff22a6e99036d 100644
--- a/MeshLib/Elements/Element.h
+++ b/MeshLib/Elements/Element.h
@@ -78,7 +78,7 @@ public:
 	virtual const Element* getFace(unsigned i) const = 0;
 
 	/// Returns the ID of the element.
-	virtual unsigned getID() const { return this->_id; }
+	virtual std::size_t getID() const { return this->_id; }
 
 	/// Get the number of edges for this element.
 	virtual unsigned getNEdges() const = 0;
diff --git a/Tests/MeshLib/TestElementStatus.cpp b/Tests/MeshLib/TestElementStatus.cpp
index 449a6c033c3ae22135b9adb64d214fe56cda29cf..f194fc12115156f8081f0b788c139ba9d9e4e255 100644
--- a/Tests/MeshLib/TestElementStatus.cpp
+++ b/Tests/MeshLib/TestElementStatus.cpp
@@ -52,16 +52,16 @@ const unsigned width (100);
 	ASSERT_EQ (status.getNActiveElements(), elements.size()-(2*elements_per_side));
 
 	// active elements
-	std::vector<unsigned> active_elements (status.getActiveElements());
+	std::vector<std::size_t> active_elements (status.getActiveElements());
 	ASSERT_EQ (active_elements.size(), status.getNActiveElements());
 
 	// active nodes
-	std::vector<unsigned> active_nodes (status.getActiveNodes());
+	std::vector<std::size_t> active_nodes (status.getActiveNodes());
 	ASSERT_EQ (active_nodes.size(), status.getNActiveNodes());
 
 	// set element 1 to false (yet again)
 	status.setElementStatus(1, false);
-	status.isActive(1);
+	status.getElementStatus(1);
 	ASSERT_EQ (status.getNActiveElements(), elements.size()-(2*elements_per_side));
 	ASSERT_EQ (status.getNActiveNodes(), mesh->getNNodes()-(2*(elements_per_side+1)));
 
@@ -69,12 +69,14 @@ const unsigned width (100);
 	status.setElementStatus(1, true);
 	ASSERT_EQ (status.getNActiveElements(), elements.size()-(2*elements_per_side)+1);
 	ASSERT_EQ (status.getNActiveNodes(), mesh->getNNodes()-(2*(elements_per_side+1))+4);
-	ASSERT_EQ(status.isActive(1), true);
+	ASSERT_EQ(status.getElementStatus(1), true);
 
-	std::vector<unsigned> active_elements_at_node (status.getActiveElementsAtNode(2));
+	std::vector<std::size_t> active_elements_at_node (status.getActiveElementsAtNode(2));
 	ASSERT_EQ(active_elements_at_node.size(), 1);
 	active_elements_at_node = status.getActiveElementsAtNode(22);
 	ASSERT_EQ(active_elements_at_node.size(), 1);
+	active_elements_at_node = status.getActiveElementsAtNode(44);
+	ASSERT_EQ(active_elements_at_node.size(), 2);
 	active_elements_at_node = status.getActiveElementsAtNode(102);
 	ASSERT_EQ(active_elements_at_node.size(), 4);