diff --git a/src/part.c b/src/part.c
index d5a2bc0ec82c44219509d338f9a5108b3821e11e..75adcbfca08ef705fdbb778c651eab6c61715eeb 100644
--- a/src/part.c
+++ b/src/part.c
@@ -38,7 +38,9 @@
  */
 void part_relink_gparts(struct part *parts, size_t N, ptrdiff_t offset) {
   for (size_t k = 0; k < N; k++) {
-    parts[k].gpart->id_or_neg_offset = -(k + offset);
+    if (parts[k].gpart) {
+      parts[k].gpart->id_or_neg_offset = -(k + offset);
+    }
   }
 }