diff --git a/src/collectgroup.c b/src/collectgroup.c
index af140c9150a640829ce783149f0c68bc7e732975..6b096416a3f334617a4567e51b4be04c92432eef 100644
--- a/src/collectgroup.c
+++ b/src/collectgroup.c
@@ -31,6 +31,7 @@
 /* Local headers. */
 #include "engine.h"
 #include "error.h"
+#include "star_formation_logger.h"
 
 #ifdef WITH_MPI
 
diff --git a/src/engine.c b/src/engine.c
index 9728fe706f14c2a09c6c51a4f0981537077deabb..a226472af38721a21ee748fa6b318dcb5d380aeb 100644
--- a/src/engine.c
+++ b/src/engine.c
@@ -51,6 +51,7 @@
 /* Local headers. */
 #include "active.h"
 #include "atomic.h"
+#include "black_holes.h"
 #include "cell.h"
 #include "chemistry.h"
 #include "clocks.h"
@@ -83,7 +84,6 @@
 #include "sort_part.h"
 #include "star_formation.h"
 #include "star_formation_logger.h"
-#include "star_formation_logger_struct.h"
 #include "stars_io.h"
 #include "statistics.h"
 #include "timers.h"
diff --git a/src/engine.h b/src/engine.h
index 772f4c533010b12700b1d8cef38c3c014db9e142..7c155c6e92bdd6df7847ef3a57101f50a1927ff6 100644
--- a/src/engine.h
+++ b/src/engine.h
@@ -34,13 +34,9 @@
 
 /* Includes. */
 #include "barrier.h"
-#include "black_holes_properties.h"
-#include "chemistry_struct.h"
 #include "clocks.h"
 #include "collectgroup.h"
-#include "cooling_struct.h"
 #include "dump.h"
-#include "gravity_properties.h"
 #include "mesh_gravity.h"
 #include "parser.h"
 #include "partition.h"
@@ -48,11 +44,12 @@
 #include "runner.h"
 #include "scheduler.h"
 #include "space.h"
-#include "star_formation_logger.h"
 #include "task.h"
 #include "units.h"
 #include "velociraptor_interface.h"
 
+struct black_holes_properties;
+
 /**
  * @brief The different policies the #engine can follow.
  */
diff --git a/src/engine_collect_end_of_step.c b/src/engine_collect_end_of_step.c
index ec02acfefdf65aca13d44a7cf90d48f31b99778f..d4d32510419c2aa9c3c2d09b606400ac6ff0b262 100644
--- a/src/engine_collect_end_of_step.c
+++ b/src/engine_collect_end_of_step.c
@@ -27,6 +27,7 @@
 
 /* Local headers. */
 #include "active.h"
+#include "star_formation_logger.h"
 #include "timeline.h"
 
 /**
diff --git a/src/runner_doiact_hydro.c b/src/runner_doiact_hydro.c
index 4638513c718257e99b39b1c9b17368e6a2b4bfa2..631109ac4655576aa24f49fd4042f16f4e602a48 100644
--- a/src/runner_doiact_hydro.c
+++ b/src/runner_doiact_hydro.c
@@ -25,6 +25,7 @@
 /* Local headers. */
 #include "active.h"
 #include "cell.h"
+#include "chemistry.h"
 #include "engine.h"
 #include "pressure_floor_iact.h"
 #include "runner.h"
diff --git a/src/space.h b/src/space.h
index 8743e9aae422cf125fea8377d87f493b8617839d..94f51fcbe17bc3ff89a72891aeb90223e9007d8d 100644
--- a/src/space.h
+++ b/src/space.h
@@ -30,7 +30,6 @@
 #include <stddef.h>
 
 /* Includes. */
-#include "gravity_properties.h"
 #include "hydro_space.h"
 #include "lock.h"
 #include "parser.h"
@@ -40,6 +39,7 @@
 /* Avoid cyclic inclusions */
 struct cell;
 struct cosmology;
+struct gravity_props;
 
 /* Some constants. */
 #define space_cellallocchunk 1000