diff --git a/src/post_modules/GTK2/Makefile.in b/src/post_modules/GTK2/Makefile.in
index 9720d021e6f4d75906c9d04f2d094f6aafffef61..1b949839df70e67030a39329384c90eef3c59428 100644
--- a/src/post_modules/GTK2/Makefile.in
+++ b/src/post_modules/GTK2/Makefile.in
@@ -43,8 +43,13 @@ compile0:
 	$(MAKE) all
 
 compile1:
-	$(RUNPIKE) $(SRCDIR)/build_pgtk.pike --source='$(SRCDIR)/source/' \
-	           $(SRCDIR)/output/few.pike
+	if $(RUNPIKE) $(SRCDIR)/build_pgtk.pike --source='$(SRCDIR)/source/' \
+	              $(SRCDIR)/output/few.pike; then :; else \
+	  (echo; echo "Failure. Rerunning with trace."; echo) >&2; \
+	  $(RUNPIKE) -t2 $(SRCDIR)/build_pgtk.pike \
+		     --source='$(SRCDIR)/source/' $(SRCDIR)/output/few.pike; \
+	  exit $$?; \
+	fi
 	@if [ "x@VPATH_KLUDGE@" = "xyes" ]; then \
 	  for f in `cat files_to_compile | sed -e 's/\.o/\.c/g'`; do \
 	    test -f "$$f" || ln -s "$(srcdir)/$$f" "$$f"; \