diff --git a/examples/Cooling/CoolingRates/cooling_rates.c b/examples/Cooling/CoolingRates/cooling_rates.c
index f23a987e3ae56db0811eb9997a8c1c48772f7f09..5ffdc7f8d56bfea68119d275b8bb574658be9d91 100644
--- a/examples/Cooling/CoolingRates/cooling_rates.c
+++ b/examples/Cooling/CoolingRates/cooling_rates.c
@@ -164,6 +164,7 @@ int main(int argc, char **argv) {
   struct part p;
   struct xpart xp;
   struct phys_const internal_const;
+  struct hydro_props hydro_properties;
   struct cooling_function_data cooling;
   struct cosmology cosmo;
   struct space s;
@@ -210,8 +211,13 @@ int main(int argc, char **argv) {
 
   // Init units
   units_init_from_params(&us, params, "InternalUnitSystem");
+
+  // Init physical constants
   phys_const_init(&us, params, &internal_const);
 
+  // Init porperties of hydro
+  hydro_props_init(&hydro_properties, &internal_const, &us, params);
+
   // Init chemistry
   chemistry_init(params, &us, &internal_const, &chem_data);
   chemistry_first_init_part(&internal_const, &us, &cosmo, &chem_data, &p, &xp);
@@ -228,7 +234,7 @@ int main(int argc, char **argv) {
   message("Redshift is %f", cosmo.z);
 
   // Init cooling
-  cooling_init(params, &us, &internal_const, &cooling);
+  cooling_init(params, &us, &internal_const, &hydro_properties, &cooling);
   cooling_print(&cooling);
   cooling_update(&cosmo, &cooling, &s);
 
diff --git a/examples/Cooling/CoolingRates/cooling_rates.yml b/examples/Cooling/CoolingRates/cooling_rates.yml
index 985eef220b24bd398deec09ea56630118d0bc5ab..5a96c2a3d74441c616d39fb1bc672d0816356325 100644
--- a/examples/Cooling/CoolingRates/cooling_rates.yml
+++ b/examples/Cooling/CoolingRates/cooling_rates.yml
@@ -15,6 +15,11 @@ Cosmology:
   Omega_lambda:   0.693         # Dark-energy density parameter
   Omega_b:        0.0455        # Baryon density parameter
 
+SPH:
+  resolution_eta:      1.234
+  CFL_condition:       0.1
+  minimal_temperature: 100.
+
 EAGLEChemistry:
   init_abundance_metal:     0.014
   init_abundance_Hydrogen:  0.70649785
diff --git a/examples/IsolatedGalaxy/IsolatedGalaxy_starformation/isolated_galaxy.yml b/examples/IsolatedGalaxy/IsolatedGalaxy_starformation/isolated_galaxy.yml
index 7dac0a8a6c3b8d4c583ae6138513f0c5259227b1..078d5bb48a5b57856fe1d28e8d0890f05152a380 100644
--- a/examples/IsolatedGalaxy/IsolatedGalaxy_starformation/isolated_galaxy.yml
+++ b/examples/IsolatedGalaxy/IsolatedGalaxy_starformation/isolated_galaxy.yml
@@ -25,9 +25,8 @@ TimeIntegration:
 Snapshots:
   basename:   output      # Common part of the name of output files
   time_first: 0.          # (Optional) Time of the first output if non-cosmological time-integration (in internal units)
-  delta_time: 0.001        # Time difference between consecutive outputs (in internal units)
+  delta_time: 0.001       # Time difference between consecutive outputs (in internal units)
 
-  
 # Parameters governing the conserved quantities statistics
 Statistics:
   delta_time:           1e-2     # Time between statistics output
@@ -45,6 +44,7 @@ SPH:
   CFL_condition:         0.1      # Courant-Friedrich-Levy condition for time integration.
   h_min_ratio:           0.1      # Minimal smoothing in units of softening.
   h_max:                 10.
+  minimal_temperature:   10.      # Kelvin
 
 # Standard EAGLE cooling options
 EAGLECooling:
@@ -55,18 +55,18 @@ EAGLECooling:
   He_reion_z_sigma:        0.5               # Spread in redshift of the  Helium re-ionization Gaussian
   He_reion_eV_p_H:         2.0               # Energy inject by Helium re-ionization in electron-volt per Hydrogen atom
 
-# Primordial abundances
+# Solar abundances
 EAGLEChemistry:
-  init_abundance_metal:     0.0129          # Inital fraction of particle mass in *all* metals
+  init_abundance_metal:     0.0129       # Inital fraction of particle mass in *all* metals
   init_abundance_Hydrogen:  0.7065       # Inital fraction of particle mass in Hydrogen
-  init_abundance_Helium:    0.2806        # Inital fraction of particle mass in Helium
-  init_abundance_Carbon:    0.00207        # Inital fraction of particle mass in Carbon
-  init_abundance_Nitrogen:  0.000836        # Inital fraction of particle mass in Nitrogen
-  init_abundance_Oxygen:    0.00549        # Inital fraction of particle mass in Oxygen
-  init_abundance_Neon:      0.00141        # Inital fraction of particle mass in Neon
-  init_abundance_Magnesium: 0.000591        # Inital fraction of particle mass in Magnesium
-  init_abundance_Silicon:   0.000683        # Inital fraction of particle mass in Silicon
-  init_abundance_Iron:      0.0011        # Inital fraction of particle mass in Iron
+  init_abundance_Helium:    0.2806       # Inital fraction of particle mass in Helium
+  init_abundance_Carbon:    0.00207      # Inital fraction of particle mass in Carbon
+  init_abundance_Nitrogen:  0.000836     # Inital fraction of particle mass in Nitrogen
+  init_abundance_Oxygen:    0.00549      # Inital fraction of particle mass in Oxygen
+  init_abundance_Neon:      0.00141      # Inital fraction of particle mass in Neon
+  init_abundance_Magnesium: 0.000591     # Inital fraction of particle mass in Magnesium
+  init_abundance_Silicon:   0.000683     # Inital fraction of particle mass in Silicon
+  init_abundance_Iron:      0.0011       # Inital fraction of particle mass in Iron
 
 # Hernquist potential parameters
 HernquistPotential:
diff --git a/examples/main.c b/examples/main.c
index 79ff40de22cb855cd3ef8d855278e904afd4ae8d..134690c43ad5123e323e55bb388ece6341cbff5f 100644
--- a/examples/main.c
+++ b/examples/main.c
@@ -766,7 +766,7 @@ int main(int argc, char *argv[]) {
 #endif
     bzero(&cooling_func, sizeof(struct cooling_function_data));
     if (with_cooling || with_temperature) {
-      cooling_init(params, &us, &prog_const, &cooling_func);
+      cooling_init(params, &us, &prog_const, &hydro_properties, &cooling_func);
     }
     if (myrank == 0) cooling_print(&cooling_func);
 
diff --git a/src/cooling.c b/src/cooling.c
index 34205937bbd7ce144503b10ef047cf5b552f23cc..e203ddb34d7b7f45010da9c47383966a5cf25f39 100644
--- a/src/cooling.c
+++ b/src/cooling.c
@@ -22,6 +22,10 @@
 
 /* This object's header. */
 #include "cooling.h"
+
+/* Local includes */
+#include "error.h"
+#include "hydro_properties.h"
 #include "restart.h"
 
 /**
@@ -37,8 +41,15 @@
 void cooling_init(struct swift_params* parameter_file,
                   const struct unit_system* us,
                   const struct phys_const* phys_const,
+                  const struct hydro_props* hydro_props,
                   struct cooling_function_data* cooling) {
 
+  /* Verify that we are not doing something stupid here */
+  if (hydro_props->minimal_temperature <= 0.)
+    error(
+        "ERROR: Cannot run with cooling switched on and no minimal "
+        "temperature.");
+
   cooling_init_backend(parameter_file, us, phys_const, cooling);
 }
 
diff --git a/src/cooling.h b/src/cooling.h
index 9b9b255dc7f845adeed8177b4385e08aaffbd977..8592025234b28cb4ff74524cffd407ff2c6f708b 100644
--- a/src/cooling.h
+++ b/src/cooling.h
@@ -55,6 +55,7 @@
 void cooling_init(struct swift_params* parameter_file,
                   const struct unit_system* us,
                   const struct phys_const* phys_const,
+                  const struct hydro_props* hydro_props,
                   struct cooling_function_data* cooling);
 
 void cooling_print(const struct cooling_function_data* cooling);
diff --git a/src/cooling/EAGLE/cooling.c b/src/cooling/EAGLE/cooling.c
index 2e5da9576afecd63b7ecf12e1636f0c7892bdbf6..3933d536720e81f3737be53d16432b20b8913c6a 100644
--- a/src/cooling/EAGLE/cooling.c
+++ b/src/cooling/EAGLE/cooling.c
@@ -836,15 +836,16 @@ void cooling_init_backend(struct swift_params *parameter_file,
                           const struct phys_const *phys_const,
                           struct cooling_function_data *cooling) {
 
-  /* read some parameters */
+  /* Read model parameters */
+
+  /* Directory for cooling tables */
+  parser_get_param_string(parameter_file, "EAGLECooling:dir_name",
+                          cooling->cooling_table_path);
 
   /* Despite the names, the values of H_reion_heat_cgs and He_reion_heat_cgs
    * that are read in are actually in units of electron volts per proton mass.
    * We later convert to units just below */
 
-  parser_get_param_string(parameter_file, "EAGLECooling:dir_name",
-                          cooling->cooling_table_path);
-
   cooling->H_reion_done = 0;
   cooling->H_reion_z =
       parser_get_param_float(parameter_file, "EAGLECooling:H_reion_z");
diff --git a/src/hydro_properties.c b/src/hydro_properties.c
index eb506839c859f561756fdc77072a915ff3a383aa..ca38be1d2e32d7e4830d878e65bae796b7806457 100644
--- a/src/hydro_properties.c
+++ b/src/hydro_properties.c
@@ -135,10 +135,16 @@ void hydro_props_init(struct hydro_props *p,
   p->initial_temperature = parser_get_opt_param_float(
       params, "SPH:initial_temperature", hydro_props_default_init_temp);
 
+  if (p->initial_temperature < 0.f)
+    error("ERROR: Minimal temperature set to a negative value!!!");
+
   /* Minimal temperature */
   p->minimal_temperature = parser_get_opt_param_float(
       params, "SPH:minimal_temperature", hydro_props_default_min_temp);
 
+  if (p->minimal_temperature < 0.f)
+    error("ERROR: Minimal temperature set to a negative value!!!");
+
   if ((p->initial_temperature != 0.) &&
       (p->initial_temperature < p->minimal_temperature))
     error("Initial temperature lower than minimal allowed temperature!");