diff --git a/src/modules/Gz/configure.in b/src/modules/Gz/configure.in
index 8f441d95bf67ffdc48e94379ca10bc51f060d35d..5af461824f2d1c66b5e0c453e86e02d203ad8455 100644
--- a/src/modules/Gz/configure.in
+++ b/src/modules/Gz/configure.in
@@ -15,11 +15,13 @@ int foo = (int)(Z_NO_COMPRESSION | Z_VERSION_ERROR);
     ],[ AC_MSG_RESULT(yes) ],[ AC_MSG_RESULT(no); ac_cv_header_zlib_h=no ])
     if test $ac_cv_header_zlib_h = yes ; then
       if test x$pike_cv_sys_os = xIRIX ; then
-        # The libz.so supplied with IRIX 6.3 needs this obscure symbol
-        # C++? It also differs which library which contains it.
+        # The libz.so supplied with IRIX 6.3 needs these obscure symbols
+        # C++? It also differs which library which contains them.
         AC_CHECK_LIB(Csup, __vtbl__9type_info)
         AC_CHECK_LIB(C, __vtbl__9type_info)
+	AC_CHECK_LIB(Csup, __T_9__nothrow)
 	AC_HAVE_FUNCS(__vtbl__9type_info)
+	AC_HAVE_FUNCS(__T_9__nothrow)
       fi
       AC_CHECK_LIB(z, compress, [
         AC_DEFINE(HAVE_LIBZ) 
diff --git a/src/modules/Gz/zlibmod.c b/src/modules/Gz/zlibmod.c
index a050b61015c5eea46e817087c2e9fbc948f7eeb7..ed743d4655700ed557cef15564075e4d31bec9f6 100644
--- a/src/modules/Gz/zlibmod.c
+++ b/src/modules/Gz/zlibmod.c
@@ -4,7 +4,7 @@
 ||| See the files COPYING and DISCLAIMER for more information.
 \*/
 #include "global.h"
-RCSID("$Id: zlibmod.c,v 1.14 1997/10/21 17:45:40 grubba Exp $");
+RCSID("$Id: zlibmod.c,v 1.15 1997/10/26 17:22:43 grubba Exp $");
 
 #include "zlib_machine.h"
 
@@ -382,11 +382,24 @@ void pike_module_init(void)
 #endif
 }
 
-#ifdef HAVE___VTBL__9TYPE_INFO
+#if defined(HAVE___VTBL__9TYPE_INFO) || defined(HAVE___T_9__NOTHROW)
 /* Super-special kluge for IRIX 6.3 */
+#ifdef HAVE___VTBL__9TYPE_INFO
 extern void __vtbl__9type_info(void);
+#endif /* HAVE___VTBL__9TYPE_INFO */
+#ifdef HAVE___T_9__NOTHROW
+extern void __T_9__nothrow(void);
+#endif /* HAVE___T_9__NOTHROW */
+/* Don't even think of calling this one
+ * Not static, so the compiler can't optimize it away totally.
+ */
 void zlibmod_strap_kluge(void)
 {
+#ifdef HAVE___VTBL__9TYPE_INFO
   __vtbl__9type_info();
-}
 #endif /* HAVE___VTBL__9TYPE_INFO */
+#ifdef HAVE___T_9__NOTHROW
+  __T_9__nothrow();
+#endif /* HAVE___T_9__NOTHROW */
+}
+#endif /* HAVE___VTBL__9TYPE_INFO || HAVE___T_9__NOTHROW */