--- /dev/null
+diff -urN texinfo-4.5.org/makeinfo/index.c texinfo-4.5/makeinfo/index.c
+--- texinfo-4.5.org/makeinfo/index.c Sun Feb 16 19:00:50 2003
++++ texinfo-4.5/makeinfo/index.c Sun Feb 16 19:01:33 2003
+@@ -342,9 +342,14 @@
+ here; otherwise, when we try to define the pg index again
+ just below, it will still point to cp. */
+ undefindex (name_index_alist[i]->name);
+- free (name_index_alist[i]->name);
+- free (name_index_alist[i]);
+- name_index_alist[i] = NULL;
++
++ /* undefindex sets all this to null in some cases. */
++ if (name_index_alist[i])
++ {
++ free (name_index_alist[i]->name);
++ free (name_index_alist[i]);
++ name_index_alist[i] = NULL;
++ }
+ }
+ }
+