--- main.c	2011-01-04 20:42:19.000000000 +1100
+++ main.c	2012-07-04 21:49:10.136212236 +1000
@@ -833,7 +833,8 @@
     mySignal(SIGPIPE, SigPipe);
 #endif
 
-    orig_GC_warn_proc = GC_set_warn_proc(wrap_GC_warn_proc);
+    orig_GC_warn_proc = GC_get_warn_proc();
+    GC_set_warn_proc(wrap_GC_warn_proc);
     err_msg = Strnew();
     if (load_argc == 0) {
 	/* no URL specified */
