diff --git a/src/Mod/Part/App/Tools.cpp b/src/Mod/Part/App/Tools.cpp
index 0463cf576a..b66da45f32 100644
--- a/src/Mod/Part/App/Tools.cpp
+++ b/src/Mod/Part/App/Tools.cpp
@@ -65,6 +65,7 @@
# endif
#endif
+#include
#include
#include "Tools.h"
@@ -640,8 +641,10 @@ Handle (Poly_Triangulation) Part::Tools::triangulationOfFace(const TopoDS_Face&
selectRange(v1, v2);
Handle(Geom_Surface) surface = BRep_Tool::Surface(face);
+ if ( surface.IsNull() ) {
+ FC_THROWM(Base::CADKernelError, "Cannot create surface from face");
+ }
BRepBuilderAPI_MakeFace mkBuilder(surface, u1, u2, v1, v2, Precision::Confusion() );
-
TopoDS_Shape shape = mkBuilder.Shape();
shape.Location(loc);