diff --git a/examples/main.c b/examples/main.c
index c88f92a07a747c327692b5e0fbbc7dc07b93ac0c..f747b6cb764623bf7c7e2a65feb6ce3184cade60 100644
--- a/examples/main.c
+++ b/examples/main.c
@@ -359,7 +359,7 @@ int main(int argc, char *argv[]) {
   read_ic_parallel(ICfileName, dim, &parts, &Ngas, &periodic, myrank, nr_nodes,
                    MPI_COMM_WORLD, MPI_INFO_NULL);
 #else
-  read_ic_serial(ICfileName, dim, &parts, &Ngas, &periodic, myrank, nr_nodes,
+  read_ic_serial(ICfileName, dim, &parts, &gparts, &Ngas, &Ngpart, &periodic, myrank, nr_nodes,
                  MPI_COMM_WORLD, MPI_INFO_NULL);
 #endif
 #else
diff --git a/src/common_io.h b/src/common_io.h
index 2623a03f9a25ce0e650dde4f698da6eb49177e26..426fa6a01ec87a4413eceaaeb0d0880cbef8a214 100644
--- a/src/common_io.h
+++ b/src/common_io.h
@@ -70,6 +70,9 @@ enum PARTICLE_TYPE {
   NUM_PARTICLE_TYPES
 };
 
+#define FILENAME_BUFFER_SIZE 150
+#define PARTICLE_GROUP_BUFFER_SIZE 20
+
 hid_t hdf5Type(enum DATA_TYPE type);
 size_t sizeOfType(enum DATA_TYPE type);
 
diff --git a/src/serial_io.c b/src/serial_io.c
index 8068d02db04df5081dcc69e712cdbbc754d2c6c6..0d64db482a437cd8bafee8b6d155af3d578ebc0e 100644
--- a/src/serial_io.c
+++ b/src/serial_io.c
@@ -390,6 +390,9 @@ void writeArrayBackEnd(hid_t grp, char* fileName, FILE* xmfFile, char* name,
 
 /* Import the right hydro definition */
 #include "hydro_io.h"
+/* Import the right gravity definition */
+#include "gravity_io.h"
+
 
 /**
  * @brief Reads an HDF5 initial condition file (GADGET-3 type)
@@ -499,7 +502,7 @@ void read_ic_serial(char* fileName, double dim[3], struct part** parts,
   bzero(*parts, *Ngas * sizeof(struct part));
 
   /* Allocate memory to store all particles */
-  Ndm = N[1];
+  const size_t Ndm = N[1];
   *Ngparts = N[1] + N[0];
   if (posix_memalign((void*)gparts, gpart_align, *Ngparts * sizeof(struct gpart)) != 0)
     error("Error while allocating memory for gravity particles");
diff --git a/src/serial_io.h b/src/serial_io.h
index 95f09f5977a97a359e978db7a1b71b02030d6a14..6cb48d26db126f7edb1a6e80a61476d89f13ab31 100644
--- a/src/serial_io.h
+++ b/src/serial_io.h
@@ -32,7 +32,8 @@
 #if defined(HAVE_HDF5) && defined(WITH_MPI) && !defined(HAVE_PARALLEL_HDF5)
 
 void read_ic_serial(char* fileName, double dim[3], struct part** parts,
-                    size_t* N, int* periodic, int mpi_rank, int mpi_size,
+		    struct gpart** gparts, size_t* Ngas, size_t* Ngparts,
+                    int* periodic, int mpi_rank, int mpi_size,
                     MPI_Comm comm, MPI_Info info);
 
 void write_output_serial(struct engine* e, struct UnitSystem* us, int mpi_rank,
diff --git a/src/single_io.c b/src/single_io.c
index 32a4b374a77730ab3f55fe4b91fe8e21f04b3380..373d685174d6ead7e2541f7d8af22d00800dba7b 100644
--- a/src/single_io.c
+++ b/src/single_io.c
@@ -39,9 +39,6 @@
 #include "common_io.h"
 #include "error.h"
 
-#define FILENAME_BUFFER_SIZE 150
-#define PARTICLE_GROUP_BUFFER_SIZE 20
-
 /*-----------------------------------------------------------------------------
  * Routines reading an IC file
  *-----------------------------------------------------------------------------*/