diff --git a/src/docs/internals/Makefile b/src/docs/internals/Makefile
index d68c4cce541c83d9aab17e16a2067d36a3c6570e..bbb389b38e9bb0819c48a427a5b66e43ff39d19d 100644
--- a/src/docs/internals/Makefile
+++ b/src/docs/internals/Makefile
@@ -41,12 +41,21 @@ firsttime: $(MASTERFILE).dvi
 
 
 %.dvi : %.tex
+	$(LATEX) $<
+	@while ( grep Rerun $*.log > /dev/null ); do \
+	   $(LATEX) $<; \
+	done
+	$(LATEX) $<
 
 %.eps :	%.fig
 	fig2dev -L ps $^ $@
 
 %.pdf : %.tex
 	$(PDFLATEX) $^
+	@while ( grep -v 'Package: rerunfilecheck' $*.log | grep Rerun > /dev/null ); do \
+	   $(PDFLATEX) $<; \
+	done
+	$(PDFLATEX) $<
 
 %.ps : %.dvi
 	$(DVIPS) $(DVIPSOPTS) -o $@ $*