diff --git a/MeshLib/Elements/TemplateHex-impl.h b/MeshLib/Elements/TemplateHex-impl.h
index 64bbb3c482df62c45d4884d66330f23945c77c66..3a495484b18fdb4d99690fdadf765731aecbd34e 100644
--- a/MeshLib/Elements/TemplateHex-impl.h
+++ b/MeshLib/Elements/TemplateHex-impl.h
@@ -170,6 +170,7 @@ ElementErrorCode TemplateHex<NNODES,CELLHEXTYPE>::validate() const
 		error_code |= quad->validate();
 		delete quad;
 	}
+	error_code[ElementErrorFlag::NodeOrder]  = !this->testElementNodeOrder();
 	return error_code;
 }
 
diff --git a/MeshLib/Elements/TemplatePrism-impl.h b/MeshLib/Elements/TemplatePrism-impl.h
index 2decf3bcb5792b270c28e425ce8b47071a2d4a04..2fc811a73d95e6c0c4046436cda9c89d4c4b3f20 100644
--- a/MeshLib/Elements/TemplatePrism-impl.h
+++ b/MeshLib/Elements/TemplatePrism-impl.h
@@ -179,6 +179,7 @@ ElementErrorCode TemplatePrism<NNODES,CELLPRISMTYPE>::validate() const
 			error_code.set(ElementErrorFlag::NodeOrder);
 		delete quad;
 	}
+	error_code[ElementErrorFlag::NodeOrder] = !this->testElementNodeOrder();
 	return error_code;
 }
 
diff --git a/MeshLib/Elements/TemplatePyramid-impl.h b/MeshLib/Elements/TemplatePyramid-impl.h
index 4df80819c0e3626950c924f46d78cda306274767..31afb22c02902146e6e549b567c1cdfd481aff43 100644
--- a/MeshLib/Elements/TemplatePyramid-impl.h
+++ b/MeshLib/Elements/TemplatePyramid-impl.h
@@ -174,7 +174,10 @@ ElementErrorCode TemplatePyramid<NNODES,CELLPYRAMIDTYPE>::validate() const
 
 	const MeshLib::Quad* base (dynamic_cast<const MeshLib::Quad*>(this->getFace(4)));
 	if (base)
+	{
 		error_code |= base->validate();
+		error_code[ElementErrorFlag::NodeOrder] = !this->testElementNodeOrder();
+	}
 	else
 		error_code.set(ElementErrorFlag::NodeOrder);
 	delete base;
diff --git a/MeshLib/Elements/TemplateQuad-impl.h b/MeshLib/Elements/TemplateQuad-impl.h
index ab017977b14584b388630e46023c70f1922e5ad7..75f4f97f0a288a6dc63369af62ad038c0593fe4d 100644
--- a/MeshLib/Elements/TemplateQuad-impl.h
+++ b/MeshLib/Elements/TemplateQuad-impl.h
@@ -129,6 +129,7 @@ ElementErrorCode TemplateQuad<NNODES,CELLQUADTYPE>::validate() const
 	if (!error_code[ElementErrorFlag::ZeroVolume]) 
 		error_code[ElementErrorFlag::NonConvex]   = (!(GeoLib::dividedByPlane(*_nodes[0], *_nodes[2], *_nodes[1], *_nodes[3]) &&
 			                                           GeoLib::dividedByPlane(*_nodes[1], *_nodes[3], *_nodes[0], *_nodes[2])));
+	error_code[ElementErrorFlag::NodeOrder]  = !this->testElementNodeOrder();
 	return error_code;
 }
 
diff --git a/MeshLib/Elements/TemplateTet-impl.h b/MeshLib/Elements/TemplateTet-impl.h
index 49370381650325fddf5f445d4a1ce9d532a02098..ceb9ffcb37218e81ff5021ff2667f348a1deafcb 100644
--- a/MeshLib/Elements/TemplateTet-impl.h
+++ b/MeshLib/Elements/TemplateTet-impl.h
@@ -149,6 +149,7 @@ ElementErrorCode TemplateTet<NNODES,CELLTETTYPE>::validate() const
 {
 	ElementErrorCode error_code;
 	error_code[ElementErrorFlag::ZeroVolume] = this->hasZeroVolume();
+	error_code[ElementErrorFlag::NodeOrder]  = !this->testElementNodeOrder();
 	return error_code;
 }
 
diff --git a/MeshLib/Elements/TemplateTri-impl.h b/MeshLib/Elements/TemplateTri-impl.h
index 5bae658eba7b09ad57a20a11afff286abc1b0285..736e8195a0e508d7abd62f8bce4e7156bd30f54b 100644
--- a/MeshLib/Elements/TemplateTri-impl.h
+++ b/MeshLib/Elements/TemplateTri-impl.h
@@ -85,6 +85,7 @@ ElementErrorCode TemplateTri<NNODES,CELLTRITYPE>::validate() const
 { 
 	ElementErrorCode error_code;
 	error_code[ElementErrorFlag::ZeroVolume] = this->hasZeroVolume();
+	error_code[ElementErrorFlag::NodeOrder]  = !this->testElementNodeOrder();
 	return error_code;
 }