diff --git a/MeshLib/Node.cpp b/MeshLib/Node.cpp
index 9663fbd538b602ff75ff7b11f2e6de485e990f05..8c4d76327dbeb3fc60d6e6e4694b411d5c2b3a79 100644
--- a/MeshLib/Node.cpp
+++ b/MeshLib/Node.cpp
@@ -17,13 +17,13 @@
 
 namespace MeshLib {
 
-Node::Node(const double coords[3], unsigned id)
+Node::Node(const double coords[3], std::size_t id)
 	: MathLib::MathPoint(coords), _id(id)
 {
 }
 
-Node::Node(double x, double y, double z, unsigned id)
-	: MathLib::MathPoint({x, y, z}), _id(id)
+Node::Node(double x, double y, double z, std::size_t id)
+	: MathLib::MathPoint(std::array<double,3>({{x, y, z}})), _id(id)
 {
 }
 
@@ -43,7 +43,7 @@ void Node::updateCoordinates(double x, double y, double z)
 	_x[2] = z;
 
 	const size_t nElements (this->_elements.size());
-	for (unsigned i=0; i<nElements; i++)
+	for (std::size_t i=0; i<nElements; i++)
 		_elements[i]->computeVolume();
 }
 
diff --git a/MeshLib/Node.h b/MeshLib/Node.h
index e01592681bb9ec4b5847f7e328c38585d2dcafae..8c74e8ef91e3ebece68560d67d20b033f9920842 100644
--- a/MeshLib/Node.h
+++ b/MeshLib/Node.h
@@ -47,10 +47,10 @@ class Node : public MathLib::MathPoint
 
 public:
 	/// Constructor using a coordinate array
-	Node(const double coords[3], unsigned id = std::numeric_limits<unsigned>::max());
+	Node(const double coords[3], std::size_t id = std::numeric_limits<std::size_t>::max());
 
 	/// Constructor using single coordinates
-	Node(double x, double y, double z, unsigned id = std::numeric_limits<unsigned>::max());
+	Node(double x, double y, double z, std::size_t id = std::numeric_limits<std::size_t>::max());
 
 	/// Copy constructor
 	Node(const Node &node);
@@ -61,7 +61,7 @@ public:
 	const std::vector<MeshLib::Node*>& getConnectedNodes() const { return _connected_nodes; }
 
 	/// Get an element the node is part of.
-	const Element* getElement(unsigned idx) const { return _elements[idx]; }
+	const Element* getElement(std::size_t idx) const { return _elements[idx]; }
 
 	/// Get all elements the node is part of.
 	const std::vector<Element*>& getElements() const { return _elements; }
@@ -88,7 +88,7 @@ protected:
 	}
 
 	/// Sets the ID of a node to the given value.
-	void setID(unsigned id) { this->_id = id; }
+	void setID(std::size_t id) { this->_id = id; }
 
 	/// Update coordinates of a node.
 	/// This method automatically also updates the areas/volumes of all connected elements.