diff --git a/src/gravity.c b/src/gravity.c
index d70617e96a0ab1a039a9d56643c68b49668382cb..4aabd0abe744187a430d608278f84e7257a75000 100644
--- a/src/gravity.c
+++ b/src/gravity.c
@@ -469,6 +469,7 @@ void gravity_exact_force_compute_mapper(void *map_data, int nr_gparts,
   const struct space *s = data->s;
   const struct part *parts = s->parts;
   const struct spart *sparts = s->sparts;
+  const struct bpart *bparts = s->bparts;
   const struct engine *e = data->e;
   const int periodic = s->periodic;
   const double dim[3] = {s->dim[0], s->dim[1], s->dim[2]};
@@ -479,13 +480,14 @@ void gravity_exact_force_compute_mapper(void *map_data, int nr_gparts,
 
     struct gpart *gpi = &gparts[i];
 
+    /* Get the particle ID */
     long long id = 0;
     if (gpi->type == swift_type_gas)
       id = parts[-gpi->id_or_neg_offset].id;
     else if (gpi->type == swift_type_stars)
       id = sparts[-gpi->id_or_neg_offset].id;
     else if (gpi->type == swift_type_black_hole)
-      error("Unexisting type");
+      id = bparts[-gpi->id_or_neg_offset].id;
     else
       id = gpi->id_or_neg_offset;
 
@@ -663,6 +665,7 @@ void gravity_exact_force_check(struct space *s, const struct engine *e,
 
   const struct part *parts = s->parts;
   const struct spart *sparts = s->sparts;
+  const struct bpart *bparts = s->bparts;
 
   /* File name */
   char file_name_swift[100];
@@ -692,13 +695,14 @@ void gravity_exact_force_check(struct space *s, const struct engine *e,
 
     struct gpart *gpi = &s->gparts[i];
 
+    /* Get the particle ID */
     long long id = 0;
     if (gpi->type == swift_type_gas)
       id = parts[-gpi->id_or_neg_offset].id;
     else if (gpi->type == swift_type_stars)
       id = sparts[-gpi->id_or_neg_offset].id;
     else if (gpi->type == swift_type_black_hole)
-      error("Unexisting type");
+      id = bparts[-gpi->id_or_neg_offset].id;
     else
       id = gpi->id_or_neg_offset;