diff --git a/python/core/auto_generated/geometry/qgsbox3d.sip.in b/python/core/auto_generated/geometry/qgsbox3d.sip.in
index 300542304ec..4e6e62f9373 100644
--- a/python/core/auto_generated/geometry/qgsbox3d.sip.in
+++ b/python/core/auto_generated/geometry/qgsbox3d.sip.in
@@ -9,6 +9,7 @@
 
 
 
+
 class QgsBox3d
 {
 %Docstring
diff --git a/python/core/auto_generated/geometry/qgscircle.sip.in b/python/core/auto_generated/geometry/qgscircle.sip.in
index 68ac1d56c94..d20256763df 100644
--- a/python/core/auto_generated/geometry/qgscircle.sip.in
+++ b/python/core/auto_generated/geometry/qgscircle.sip.in
@@ -13,6 +13,7 @@
 
 
 
+
 class QgsCircle : QgsEllipse
 {
 %Docstring
diff --git a/python/core/auto_generated/geometry/qgsgeometrycollection.sip.in b/python/core/auto_generated/geometry/qgsgeometrycollection.sip.in
index 90cf936be95..53352644dce 100644
--- a/python/core/auto_generated/geometry/qgsgeometrycollection.sip.in
+++ b/python/core/auto_generated/geometry/qgsgeometrycollection.sip.in
@@ -11,6 +11,7 @@
 
 
 
+
 class QgsGeometryCollection: QgsAbstractGeometry
 {
 %Docstring
diff --git a/python/core/auto_generated/metadata/qgslayermetadataformatter.sip.in b/python/core/auto_generated/metadata/qgslayermetadataformatter.sip.in
index 60c6728dfb9..104c34a58bb 100644
--- a/python/core/auto_generated/metadata/qgslayermetadataformatter.sip.in
+++ b/python/core/auto_generated/metadata/qgslayermetadataformatter.sip.in
@@ -9,6 +9,7 @@
 
 
 
+
 class QgsLayerMetadataFormatter
 {
 %Docstring
diff --git a/python/core/auto_generated/symbology/qgssymbol.sip.in b/python/core/auto_generated/symbology/qgssymbol.sip.in
index fd3e990541d..3356093e138 100644
--- a/python/core/auto_generated/symbology/qgssymbol.sip.in
+++ b/python/core/auto_generated/symbology/qgssymbol.sip.in
@@ -10,7 +10,6 @@
 
 
 
-
 typedef QList<QgsSymbolLayer *> QgsSymbolLayerList;
 
 class QgsSymbol
diff --git a/src/analysis/interpolation/DualEdgeTriangulation.h b/src/analysis/interpolation/DualEdgeTriangulation.h
index 9235af58bbc..803d0a35a4a 100644
--- a/src/analysis/interpolation/DualEdgeTriangulation.h
+++ b/src/analysis/interpolation/DualEdgeTriangulation.h
@@ -17,9 +17,6 @@
 #ifndef DUALEDGETRIANGULATION_H
 #define DUALEDGETRIANGULATION_H
 
-#include "Triangulation.h"
-#include "qgis_sip.h"
-#include "HalfEdge.h"
 #include <QVector>
 #include <QList>
 #include <QSet>
@@ -27,11 +24,18 @@
 #include <QFile>
 #include <QTextStream>
 #include <QMessageBox>
-#include <cfloat>
 #include <QBuffer>
 #include <QStringList>
 #include <QCursor>
+
+#include <cfloat>
+
+#include "qgis_sip.h"
 #include "qgis_analysis.h"
+#include "qgspoint.h"
+
+#include "Triangulation.h"
+#include "HalfEdge.h"
 
 #define SIP_NO_FILE
 
diff --git a/src/analysis/interpolation/NormVecDecorator.cpp b/src/analysis/interpolation/NormVecDecorator.cpp
index 9ce175382f2..d76027d3011 100644
--- a/src/analysis/interpolation/NormVecDecorator.cpp
+++ b/src/analysis/interpolation/NormVecDecorator.cpp
@@ -14,11 +14,15 @@
  *                                                                         *
  ***************************************************************************/
 
-#include "NormVecDecorator.h"
+#include <QApplication>
+
 #include "qgsfeedback.h"
 #include "qgslogger.h"
 #include "qgsfields.h"
-#include <QApplication>
+#include "qgspoint.h"
+
+#include "NormVecDecorator.h"
+
 
 NormVecDecorator::~NormVecDecorator()
 {
diff --git a/src/analysis/interpolation/TriangleInterpolator.h b/src/analysis/interpolation/TriangleInterpolator.h
index fb1df327c05..6d976883049 100644
--- a/src/analysis/interpolation/TriangleInterpolator.h
+++ b/src/analysis/interpolation/TriangleInterpolator.h
@@ -17,10 +17,13 @@
 #ifndef TINTERPOLATOR_H
 #define TINTERPOLATOR_H
 
-#include "qgspoint.h"
 #include "Vector3D.h"
+
+#include "qgis_sip.h"
 #include "qgis_analysis.h"
 
+class QgsPoint;
+
 #define SIP_NO_FILE
 
 /**
diff --git a/src/analysis/network/qgsgraphdirector.h b/src/analysis/network/qgsgraphdirector.h
index 7169a91de38..1074e76cbd5 100644
--- a/src/analysis/network/qgsgraphdirector.h
+++ b/src/analysis/network/qgsgraphdirector.h
@@ -21,12 +21,12 @@
 #include <QList>
 
 #include "qgis.h"
-#include "qgspoint.h"
 #include "qgsfeedback.h"
 #include "qgsnetworkstrategy.h"
 #include "qgis_analysis.h"
 
 class QgsGraphBuilderInterface;
+class QgsPoint;
 
 #ifdef SIP_RUN
 % ModuleHeaderCode
diff --git a/src/core/dxf/qgsdxfpaintdevice.cpp b/src/core/dxf/qgsdxfpaintdevice.cpp
index 3ce187d9e57..64b1d581d24 100644
--- a/src/core/dxf/qgsdxfpaintdevice.cpp
+++ b/src/core/dxf/qgsdxfpaintdevice.cpp
@@ -17,6 +17,7 @@
 
 #include "qgsdxfpaintdevice.h"
 #include "qgsdxfpaintengine.h"
+#include "qgspoint.h"
 
 QgsDxfPaintDevice::QgsDxfPaintDevice( QgsDxfExport *dxf )
 {
diff --git a/src/core/dxf/qgsdxfpaintengine.h b/src/core/dxf/qgsdxfpaintengine.h
index 805f432b89c..49b2279c447 100644
--- a/src/core/dxf/qgsdxfpaintengine.h
+++ b/src/core/dxf/qgsdxfpaintengine.h
@@ -23,8 +23,8 @@
 #include "qgis_core.h"
 #include <QPaintEngine>
 #include "qgsabstractgeometry.h"
-#include "qgspoint.h"
 
+class QgsPoint;
 class QgsDxfExport;
 class QgsDxfPaintDevice;
 
diff --git a/src/core/geometry/qgsbox3d.cpp b/src/core/geometry/qgsbox3d.cpp
index 20d46995f47..1a8a8ccd10b 100644
--- a/src/core/geometry/qgsbox3d.cpp
+++ b/src/core/geometry/qgsbox3d.cpp
@@ -16,6 +16,7 @@
  ***************************************************************************/
 
 #include "qgsbox3d.h"
+#include "qgspoint.h"
 
 
 QgsBox3d::QgsBox3d( double xmin, double ymin, double zmin, double xmax, double ymax, double zmax )
diff --git a/src/core/geometry/qgsbox3d.h b/src/core/geometry/qgsbox3d.h
index d98c67f2939..3f0c5eaa4d9 100644
--- a/src/core/geometry/qgsbox3d.h
+++ b/src/core/geometry/qgsbox3d.h
@@ -20,7 +20,8 @@
 
 #include "qgis_core.h"
 #include "qgsrectangle.h"
-#include "qgspoint.h"
+
+class QgsPoint;
 
 /**
  * \ingroup core
diff --git a/src/core/geometry/qgscircle.h b/src/core/geometry/qgscircle.h
index c321d556d18..af72a6351a9 100644
--- a/src/core/geometry/qgscircle.h
+++ b/src/core/geometry/qgscircle.h
@@ -22,12 +22,13 @@
 
 #include "qgis_core.h"
 #include "qgsellipse.h"
-#include "qgspoint.h"
 #include "qgspolygon.h"
 #include "qgsrectangle.h"
 #include "qgscircularstring.h"
 
 
+class QgsPoint;
+
 /**
  * \ingroup core
  * \class QgsCircle
diff --git a/src/core/geometry/qgsgeometrycollection.h b/src/core/geometry/qgsgeometrycollection.h
index aac6d15a4da..eb7275b0321 100644
--- a/src/core/geometry/qgsgeometrycollection.h
+++ b/src/core/geometry/qgsgeometrycollection.h
@@ -22,7 +22,8 @@ email                : marco.hugentobler at sourcepole dot com
 #include "qgis_core.h"
 #include "qgis.h"
 #include "qgsabstractgeometry.h"
-#include "qgspoint.h"
+
+class QgsPoint;
 
 
 /**
diff --git a/src/core/metadata/qgslayermetadataformatter.h b/src/core/metadata/qgslayermetadataformatter.h
index ee47bbb43fb..23a651a6411 100644
--- a/src/core/metadata/qgslayermetadataformatter.h
+++ b/src/core/metadata/qgslayermetadataformatter.h
@@ -18,6 +18,8 @@
 #ifndef QGSLAYERMETADATAFORMATTER_H
 #define QGSLAYERMETADATAFORMATTER_H
 
+#include <QCoreApplication>
+
 #include "qgis.h"
 #include "qgis_core.h"
 #include "qgslayermetadata.h"
diff --git a/src/core/qgstessellator.h b/src/core/qgstessellator.h
index a1b4013318d..aa8dafb3dc4 100644
--- a/src/core/qgstessellator.h
+++ b/src/core/qgstessellator.h
@@ -24,7 +24,6 @@ class QgsMultiPolygon;
 
 #include <QVector>
 #include <memory>
-#include "qgspoint.h"
 
 /**
  * \ingroup core
diff --git a/src/core/simplify/effectivearea.cpp b/src/core/simplify/effectivearea.cpp
index df625554715..e2134191d6a 100644
--- a/src/core/simplify/effectivearea.cpp
+++ b/src/core/simplify/effectivearea.cpp
@@ -23,6 +23,7 @@
  **********************************************************************/
 
 #include "effectivearea.h"
+#include "qgspoint.h"
 
 static MINHEAP initiate_minheap( int npoints )
 {
diff --git a/src/core/simplify/effectivearea.h b/src/core/simplify/effectivearea.h
index cbd49b484ea..3c3855425f8 100644
--- a/src/core/simplify/effectivearea.h
+++ b/src/core/simplify/effectivearea.h
@@ -24,7 +24,6 @@
 
 #include "qgsabstractgeometry.h"
 #include "qgscurve.h"
-#include "qgspoint.h"
 
 #define SIP_NO_FILE
 
diff --git a/src/core/symbology/qgssymbol.h b/src/core/symbology/qgssymbol.h
index bd48d1ac5da..90ecb2ef8b0 100644
--- a/src/core/symbology/qgssymbol.h
+++ b/src/core/symbology/qgssymbol.h
@@ -21,7 +21,6 @@
 #include <QList>
 #include <QMap>
 #include "qgsmapunitscale.h"
-#include "qgspoint.h"
 #include "qgsfeature.h"
 #include "qgsfields.h"
 #include "qgsrendercontext.h"
@@ -33,10 +32,8 @@ class QPainter;
 class QSize;
 class QPointF;
 class QPolygonF;
-
 class QDomDocument;
 class QDomElement;
-//class
 
 class QgsFields;
 class QgsSymbolLayer;
@@ -51,6 +48,7 @@ class QgsFeatureRenderer;
 class QgsCurve;
 class QgsPolygon;
 class QgsExpressionContext;
+class QgsPoint;
 
 typedef QList<QgsSymbolLayer *> QgsSymbolLayerList;
 
diff --git a/src/gui/qgsmaptool.h b/src/gui/qgsmaptool.h
index 9d25f57cbdf..752aa7466da 100644
--- a/src/gui/qgsmaptool.h
+++ b/src/gui/qgsmaptool.h
@@ -19,7 +19,6 @@
 #include "qgsconfig.h"
 #include "qgis.h"
 #include "qgsmessagebar.h"
-#include "qgspoint.h"
 #include "qgsmapmouseevent.h"
 
 #include <QCursor>
@@ -35,6 +34,7 @@ class QgsRenderContext;
 class QKeyEvent;
 class QMouseEvent;
 class QWheelEvent;
+class QgsPoint;
 class QgsPointXY;
 class QgsRectangle;
 class QPoint;