diff -urN bison-2.5/src/AnnotationList.c bison-2.5-haiku/src/AnnotationList.c
--- bison-2.5/src/AnnotationList.c	2011-03-06 16:47:12.043515904 -0800
+++ bison-2.5-haiku/src/AnnotationList.c	2012-08-26 09:54:44.000000000 -0700
@@ -233,9 +233,10 @@
       AnnotationList *annotation_node =
         AnnotationList__alloc_on_obstack (
           self->inadequacyNode->contributionCount, annotations_obstackp);
-      annotation_node->inadequacyNode = self->inadequacyNode;
       bool potential_contribution = false;
       bitset *lookaheads = NULL;
+      annotation_node->inadequacyNode = self->inadequacyNode;
+
       {
         ContributionIndex ci;
         for (ci = 0; ci < self->inadequacyNode->contributionCount; ++ci)
diff -urN bison-2.5/src/ielr.c bison-2.5-haiku/src/ielr.c
--- bison-2.5/src/ielr.c	2011-03-06 16:47:12.044564480 -0800
+++ bison-2.5-haiku/src/ielr.c	2012-08-26 10:05:25.000000000 -0700
@@ -1032,9 +1032,9 @@
      lookahead sets.  */
   if (!annotation_lists)
     {
+      state_list *node;
       timevar_push (TV_IELR_PHASE4);
       initialize_LA ();
-      state_list *node;
       for (node = first_state; node; node = node->next)
         if (!node->state->consistent)
           {
