diff --git a/src/csds.c b/src/csds.c
index 0dbd8e4221d8edc8b561436f460cd273ff7d34c7..7459f83cc35404fe99b5c1acc11a7e7a0f565e2c 100644
--- a/src/csds.c
+++ b/src/csds.c
@@ -1232,7 +1232,7 @@ void csds_struct_restore(struct csds_writer *log, FILE *stream) {
 
   /* Restore the pointers */
   for (int i = 0; i < swift_type_count; i++) {
-    if (log->field_pointers == NULL) continue;
+    if (log->field_pointers[i] == NULL) continue;
 
     log->field_pointers[i] =
         log->list_fields + (log->field_pointers[i] - old_list_fields);