Index: /trunk/Ohana/src/addstar/src/build_links.c
===================================================================
--- /trunk/Ohana/src/addstar/src/build_links.c	(revision 39345)
+++ /trunk/Ohana/src/addstar/src/build_links.c	(revision 39346)
@@ -34,5 +34,6 @@
 
   ALLOCATE (next_meas, off_t, Nmeasure);
-  for (i = 0; i < Naverage; i++, N++) {
+  for (i = 0; i < Naverage; i++) {
+    if (!average[i].Nmeasure) continue;
     for (j = 0; j < average[i].Nmeasure - 1; j++, N++) {
       next_meas[N] = N + 1;
@@ -45,8 +46,8 @@
       fprintf (stderr, "WARNING: N out of bounds (2)\n");
     }
-
     if (N >= Nmeasure) {
       myAbort ("overflow in init_measure_links\n");
     }
+    N++;
   }
   return (next_meas);
@@ -168,15 +169,13 @@
   ALLOCATE (next_miss, off_t, Nmissing);
   for (i = 0; i < Naverage; i++) {
+    if (!average[i].Nmissing) continue;
     for (j = 0; j < average[i].Nmissing - 1; j++, N++) {
       next_miss[N] = N + 1;
     }
-    if (average[i].Nmissing > 0) {
-      next_miss[N] = -1;
-      if (N >= Nmissing) {
-	myAbort ("overflow in init_missing_links");
-      }
-      N++;
-    }
-
+    next_miss[N] = -1;
+    if (N >= Nmissing) {
+      myAbort ("overflow in init_missing_links");
+    }
+    N++;
   }
   return (next_miss);
@@ -249,5 +248,4 @@
       fprintf (stderr, "WARNING: N out of bounds (2)\n");
     }
-
     if (N >= Nlensing) {
       myAbort ("overflow in init_lensing_links\n");
